I've been playing with moving some of my webapps on to an Ubuntu 7.10 environment containing the official Ubuntu Tomcat 5.5 packages (tomcat5.5, tomcat5.5-admin, tomcat5.5-webapps). I had a couple of problems getting my webapps to run.
When I initially deployed the application, I received errors like the following in Tomcat's catalina-*.log (/var/lib/tomcat5.5/logs):
25-Jan-2008 8:29:09 PM org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart
25-Jan-2008 8:29:09 PM org.apache.catalina.core.StandardContext start
SEVERE: Context [/appname] startup failed due to previous errors
The application was outputting additional error messages to the console, which were being captured in /var/log/daemon.log on my system. This application uses Spring, and was logging huge stack traces including the following:
Jan 25 20:29:09 hostname jsvc.exec[32335]: ERROR - ContextLoader.initWebApplicationContext(206) | Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/applicationContext-hibernate.xml]: BeanPostProcessor before instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.transaction.config.internalTransactionAdvisor': Cannot create inner bean '(inner bean)' of type [org.springframework.transaction.interceptor.TransactionInterceptor] while setting bean property 'transactionInterceptor'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)': Cannot resolve reference to bean 'transactionManager' while setting bean property 'transactionManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creatin
...
at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244) ^Iat java.security.AccessController.doPrivileged(Native Method) ^Iat javax.security.auth.Subject.doAsPrivileged(Subject.java:517) ^Iat org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276) ^Iat org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162) ^Iat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:262) ^Iat org.apache.catalina.core.ApplicationFilterChain.access$0(ApplicationFilterChain.java:192) ^Iat org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:171) ^Iat java.security.AccessController.doPrivileged(Native Method)
I was able to work around this problem by disabling Tomcat security in /etc/default/tomcat5.5:
TOMCAT5_SECURITY=no
After making this change and restarting Tomcat, my application again failed to start, but this time with a different error in catalina-*.log:
25-Jan-2008 8:51:55 PM org.apache.catalina.core.StandardContext start
SEVERE: Error filterStart
25-Jan-2008 8:51:55 PM org.apache.catalina.core.StandardContext start
SEVERE: Context [/appname] startup failed due to previous errors
The following was in /var/log/daemon.log:
Jan 25 20:51:55 hostname jsvc.exec[2025]: ERROR - StandardContext.filterStart(3639) | Exception starting filter struts javax.xml.transform.TransformerFactoryConfigurationError: Provider org.apache.xalan.processor.TransformerFactoryImpl not found ^Iat javax.xml.transform.TransformerFactory.newInstance(TransformerFactory.java:119) ^Iat com.opensymphony.xwork2.util.DomHelper$DOMBuilder.(DomHelper.java:167) ^Iat com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:115) ^Iat com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:830) ^Iat com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadDocuments(XmlConfigurationProvider.java:131) ^Iat com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.init(XmlConfigurationProvider.java:100) ^Iat com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:130) ^Iat com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(Configurati
...
After consulting a Java forum thread, I removed the /usr/share/tomcat5.5/common/endorsed/xml-apis.jar symlink and restarted Tomcat. After making this change, my application started and functioned correctly.
No comments:
Post a Comment