出错有个关键点,之前单模块项目,最近重构后改成了多模块项目,具体报错呢如下:
java.lang.RuntimeException: File not found : E:/Java/ousense/ousense.admin/WEB-INF/views/common/templete/_layout.html at com.jfinal.template.source.FileSource.getContent(FileSource.java:69) at com.jfinal.template.EngineConfig.doAddSharedFunction(EngineConfig.java:104) at com.jfinal.template.EngineConfig.addSharedFunction(EngineConfig.java:99) at com.jfinal.template.Engine.addSharedFunction(Engine.java:246) at com.ousense.common.config.MainConfig.configEngine(MainConfig.java:173) at com.jfinal.core.Config.configJFinal(Config.java:60) at com.jfinal.core.JFinal.init(JFinal.java:61) at com.jfinal.core.JFinalFilter.init(JFinalFilter.java:63) at io.undertow.servlet.core.LifecyleInterceptorInvocation.proceed(LifecyleInterceptorInvocation.java:111) at io.undertow.servlet.core.ManagedFilter.createFilter(ManagedFilter.java:80) at io.undertow.servlet.core.DeploymentManagerImpl$2.call(DeploymentManagerImpl.java:591) at io.undertow.servlet.core.DeploymentManagerImpl$2.call(DeploymentManagerImpl.java:556) at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:42) at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43) at io.undertow.servlet.core.DeploymentManagerImpl.start(DeploymentManagerImpl.java:598) at com.jfinal.server.undertow.UndertowServer.configHttp(UndertowServer.java:284) at com.jfinal.server.undertow.UndertowServer.doStart(UndertowServer.java:262) at com.jfinal.server.undertow.UndertowServer.start(UndertowServer.java:159) at com.jfinal.server.undertow.UndertowServer.start(UndertowServer.java:84) at com.ousense.common.config.MainConfig.main(MainConfig.java:41)
对比下真实的文件路径,可以发现,其实是少了src\main\webapp。
当然,官方也给出了解决方案。具体可以看下:maven 多模块项目启动报错,注意直接看第三小节。
这样是可以解决问题的,不过我是通过修改Workingn directory的方式解决的,具体如下:
1、单击Edit Configurations...
2、设置Workingn directory目录为模块目录即可。
通过以上设置就可以解决设置共享函数模板addSharedFunction后出错File not found的问题了。