views:

173

answers:

1

Hi,

I am deploying an application on Tomcat 6, using a war file. I've compiled the source code given by the vendor on the same machine, then moved the war file to {tomcat-home}/webapps/

When I start up the application, I see a error message:

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)

I followed the same steps on another machine and it installed correctly.

I don't understand what the error is telling me.

Could I be missing jar files? ( but it compiled fine ).

Have I forgotten to set environment variables?

I'm not sure what to make of this, I don't know what the VelocityEngine is, or does.

+1  A: 

It could be because of Velocity's logging trying to log to a read-only folder, or even to the jar file.

* 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

(see here for original post)

mdma
The strange thing is I have deployed this as an unexploded WAR file on Jboss and it worked correctly. I needed to unpack the WAR in Tomcat in order for this to work.
jeph perro