Tomcat Says
javax.servlet.ServletException: Servlet.init() for servlet webwork threw exception at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:963) ... root cause java.lang.RuntimeException: Unable to instantiate VelocityEngine\! at com.opensymphony.webwork.views.velocity.VelocityManager.newVelocityEngine(VelocityManager.java:333) at com.opensymphony.webwork.views.velocity.VelocityManager.init(VelocityManager.java:146) at com.opensymphony.webwork.dispatcher.ServletDispatcher.init(ServletDispatcher.java:177) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:935)
Solution
(Thanks to Keith Lea!)
It turns out Velocity's Avalon logging system was trying to write to my Tomcat folder.
So that it's on file somewhere for other people, I will describe the solution:
- I created a file "
velocity.properties
" and placed it in myWEB-INF/classes
folder. - Inside the file I wrote:
runtime.log.logsystem.class=org.apache.velocity.runtime.log.NullLogSystem
This stops Velocity from logging, and the example application now works.
1 Comment
Steven G. Messervey
More details on Velocity logging in general are available in the Velocity documentation here: http://velocity.apache.org/engine/releases/velocity-1.5/developer-guide.html#configuring_logging
Although, the particular solution outlined above looks like it was probably gleaned from the JavaDocs...