我有一个web应用程序无法在Linux安装上的Tomcat中启动。 当使用独立的Tomcat时,应用程序可以在不同的机器上安装在同一台机器上。
这个问题似乎是由于Tomcat开始的方式。
service tomcat8 start
失败; /etc/init.d/tomcat8 start
失败; service tomcat8 start
(修改/etc/init.d/tomcat8
)失败; ./startup.sh
工作。 我正在使用Debian 8,Tomcat 8.0.11(但已尝试8.0.9和8.0.11)和各种版本的Java。 该应用程序由于一个名为Atomikos的java事务pipe理器而失败 。 错误是:
SEVERE:发送上下文初始化事件给类的监听器实例的exceptionuk.co.prodia.talkingcouch.ApplicationContextListener org.springframework.beans.factory.BeanCreationException:在类path资源[config / applicationContext-db -sessionfactory.xml]:设置bean属性'transactionManager'时,无法parsing对bean'atomikosTransactionManager'的引用; 嵌套的exception是org.springframework.beans.factory.BeanCreationException:在类path资源[config / applicationContext-db-sessionfactory.xml]中定义的名为'atomikosTransactionManager'的bean创build错误:调用init方法失败; 嵌套exception是javax.transaction.SystemException:事务服务没有在org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:359)上运行org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver .java:108)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1481)
有没有人有什么build议?
通常,pipe理脚本正在从脚本本身读取附加属性,从/ etc / tomcat8中的文件甚至从/ etc / default / tomcat(8)
确保从startup.sh和pipe理脚本发出的具有参数的命令导致相同的调用。
您可以尝试获取参数ps -fp cat / proc // cmdline
CodeKiller让我以正确的方式思考。 这最终是一个权限问题,而我自己的实例只是在以root
身份运行。 通过比较每个正在运行的进程的ps
输出,这是显而易见的。
Atomikos正在将它的日志文件写到$CATALINA_BASE
,该文件位于/var/lib/tomcat8
,它只能被root写入。
事实certificate,Atomikos已经改变了处理伐木的方式,所以我不得不:
com.atomikos.icatch.output_dir
; com.atomikos.icatch.log_base_dir
属性。 然后将以下内容添加到log4j.xml
:
<appender name="tc-core-atomikos" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="/stroage/www/tc/data/atomikos/tmout"/> <param name="MaxFileSize" value="1MB"/> <param name="MaxBackupIndex" value="5"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="tc-core-atomikos => [log level: %-5p] [thread: %t] [%d{dd MMM yyyy HH:mm:ss}]%n %c %M%n %m%n%n"/> </layout> </appender> <logger name="com.atomikos"> <level value="ERROR"/> <appender-ref ref="tc-core-atomikos"/> </logger>