在部署war文件时无法实例化VelocityEngine

jep*_*rro 5 java tomcat velocity tomcat6 java-war

我正在使用war文件在Tomcat 6上部署应用程序.我在同一台机器上编译了供应商提供的源代码,然后将war文件移到{tomcat-home}/webapps /

当我启动应用程序时,我看到一条错误消息:

The SystemInformationService could not be retrieved from the container. Therefore very limited information is available in this error report. 
The SystemInformationService could not be retrieved due to the following error: java.lang.IllegalStateException: Spring Application context has not been set
Cause
java.lang.RuntimeException: Unable to instantiate VelocityEngine!
    at com.opensymphony.webwork.views.velocity.VelocityManager.newVelocityEngine(VelocityManager.java:333)

Stack Trace:[hide]

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.VelocityResult.doExecute(VelocityResult.java:61)
Run Code Online (Sandbox Code Playgroud)

我在另一台机器上执行相同的步骤并正确安装.

我不明白错误告诉我的是什么.

我可以丢失jar文件吗?(但编译得很好).

我忘记设置环境变量了吗?

我不知道该怎么做,我不知道VelocityEngine是什么,或者是什么.

mdm*_*dma 3

这可能是因为 Velocity 的日志记录尝试记录到只读文件夹,甚至是 jar 文件。

* create a file "velocity.properties" and place it in the WEB-INF/classes folder.
* Inside the file, write

runtime.log.logsystem.class=org.apache.velocity.runtime.log.NullLogSystem
Run Code Online (Sandbox Code Playgroud)

(原帖见这里)