编程那点事编程那点事

专注编程入门及提高
探究程序员职业规划之道!

JFinal设置共享函数模板addSharedFunction后出错File not found

出错有个关键点,之前单模块项目,最近重构后改成了多模块项目,具体报错呢如下:

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...

Edit Configurations

2、设置Workingn directory目录为模块目录即可。

设置Workingn directory目录

通过以上设置就可以解决设置共享函数模板addSharedFunction后出错File not found的问题了。

未经允许不得转载: 技术文章 » Java编程 » JFinal设置共享函数模板addSharedFunction后出错File not found