简体   繁体   English

Tomcat找不到类freemarker.template.TemplateException

[英]Tomcat can't find a class freemarker.template.TemplateException

I'm trying to use the Freemarker template engine in my web app. 我正在尝试在Web应用程序中使用Freemarker模板引擎。 But for some reason TomCat doesn't find class freemarker.template.TemplateException and I can not understand where is a problem because I try to generate html string in main function using freemarker and it works! 但是由于某种原因,TomCat找不到类freemarker.template.TemplateException,并且我不明白哪里出了问题,因为我尝试使用freemarker在main函数中生成html字符串,并且可以正常工作!

StackTrace of the Exception: StackTrace的异常:

11-Apr-2018 17:46:00.353 SEVERE [http-nio-8080-exec-5] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [ProfileServlet] in context with path [] threw exception [Servlet execution threw an exception] with root causejava.lang.ClassNotFoundException: freemarker.template.TemplateException
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1275)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1104)
at servlets.ProfileServlet.doGet(ProfileServlet.java:26)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:651)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:407)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:754)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1376)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:844)

Do you know how to solve this? 你知道如何解决吗?

So, I solved it. 所以,我解决了。 Just needed to add freemarker.jar package to WEB-INF/lib directory of the project. 只需将freemarker.jar包添加到项目的WEB-INF / lib目录。 But I still do not understand why loading with maven did not work. 但是我仍然不明白为什么用maven加载不起作用。

UPD: Sometimes Tomcat works strange with packages loaded with maven. UPD:有时Tomcat在加载了maven的软件包时工作异常。 For example if add dependency for mysql-connector of new version at the moment (8.0.11) Tomcat will not find jdbc.Driver while connecting. 例如,如果当前(8.0.11)添加新版本的mysql-connector的依赖关系,则Tomcat在连接时将找不到jdbc.Driver So this package should be added to "$CATALINA_HOME/lib" directory manually. 因此,应将此软件包手动添加到“ $ CATALINA_HOME / lib”目录中。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 freemarker.template.TemplateException:预期的哈希值 - freemarker.template.TemplateException: Expected hash 阅读在Freemarker模板引擎中导致TemplateException的Java对象 - Read Java Object that leads to TemplateException in Freemarker template engine Freemarker找不到JSP TLD-S - Freemarker can't find JSP tld-s 无法在Spring Framework中将Freemarker模板的编码更改为UTF-8 - Can't change encoding of freemarker template to UTF-8 in spring framework Tomcat找不到直接放在classes文件夹下的类 - Tomcat can't find class that is placed directly under classes folder 为什么我无法获得我的 freemarker 模板页面 (Spring)? - Why I can't get my freemarker template page (Spring)? Tomcat无法启动应用程序,因为它找不到JSONRPC2ParseException类 - Tomcat can't start the app because it can't find JSONRPC2ParseException class 如何内省 freemarker 模板以找出它使用的变量? - How can I introspect a freemarker template to find out what variables it uses? 无法在我的模板文件中获取资源文件(使用Restlet和Freemarker) - Can't get resource files in my template files (using Restlet and Freemarker) Tomcat 7找不到我的类抛出javax.el.E​​LException:java.lang.NoClassDefFoundError - Tomcat 7 can't find my class throws javax.el.ELException: java.lang.NoClassDefFoundError
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM