Tomcat7无法加载server.xml

时间:2012-10-04 18:40:47

标签: tomcat

我在尝试将我们的应用程序从tomcat5迁移到tomcat7时遇到了很多麻烦。我终于发现这个日志给了我一个线索,但它很模糊。这就是说:

+ /usr/java/bin/java -Dnop -Dfile.encoding=UTF-8 -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Xmx1g -Xms256m -Djava.endorsed.dirs=/usr/local/apache-tomcat-7.0.30/endorsed -classpath /usr/local/apache-tomcat-7.0.30/bin/bootstrap.jar:/usr/local/apache-tomcat-7.0.30/bin/tomcat-juli.jar -Dcatalina.base=/software/tomcat-sbox7 -Dcatalina.home=/usr/local/apache-tomcat-7.0.30 -Djava.io.tmpdir=/software/tomcat-sbox7/temp org.apache.catalina.startup.Bootstrap start 
Oct 4, 2012 2:13:10 PM org.apache.catalina.startup.Catalina initDirs
SEVERE: Cannot find specified temporary folder at /software/tomcat-sbox7/temp
Oct 4, 2012 2:13:10 PM org.apache.catalina.startup.Catalina load
WARNING: Unable to load server configuration from [/software/tomcat-sbox7/conf/server.xml]
Oct 4, 2012 2:13:10 PM org.apache.catalina.startup.Catalina initDirs
SEVERE: Cannot find specified temporary folder at /software/tomcat-sbox7/temp
Oct 4, 2012 2:13:10 PM org.apache.catalina.startup.Catalina load
WARNING: Unable to load server configuration from [/software/tomcat-sbox7/conf/server.xml]
Oct 4, 2012 2:13:10 PM org.apache.catalina.startup.Catalina start
SEVERE: Cannot start server. Server instance is not configured.

我不知道为什么这些东西无法加载。有没有一个地方我可以找到更全面的日志,或者你有一些想法,我可以尝试使这项工作?

4 个答案:

答案 0 :(得分:1)

事实证明app的catalina.properties中的common.loader是:

common.loader=${catalina.home}/lib

需要:

common.loader=${catalina.home}/lib,${catalina.home}/lib/*.jar

答案 1 :(得分:0)

最好的选择是$ CATALINA_HOME / logs的默认日志,默认情况下名为catalina.out。如果您转到Tomcat的conf目录,并编辑server.xml,您可以启用Valve配置来打印访问日志,但这不会对您有所帮助。

这里的错误(猜测)似乎tomcat配置(来自第1行)期望/ software / tomcat-sbox7 / temp中的那些目录存在并且它们不在那里?这是托管的Tomcat实例吗?

答案 2 :(得分:0)

此类问题通常与Linux权限有关。特别是当你看到行 -

'SEVERE: Cannot find specified temporary folder at /software/tomcat-sbox7/temp'

并且您确定该目录存在。

您可能想要检查哪个Linux用户用于启动Tomcat JVM。尝试以该特定用户身份登录并尝试访问此特定目录。就我而言,那就是问题所在。已修正此权限问题,问题已解决!

答案 3 :(得分:0)

我觉得这个不寻常,因为没有正确解释,而且它正在使用中。我倾向于使用Linux安装,然后使用service命令标准化启动:

2.

如果在此之后看到命令,则会看到在OS级别上启动了一个详细的Java应用程序,其中包含许多参数,更具体的是作为代理,主机名,路径等。我觉得这比运行catalina.sh run更合适,在哪里可以防止你的目录出现问题,你必须用目录,路径等开关添加参数

这种方法还可以防止scatered conf,admin和temp目录出现问题。