3

尝试将我们的应用程序从 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

4 回答 4

1

事实证明,应用程序 catalina.properties 中的 common.loader 是:

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

它必须是:

common.loader=${catalina.home}/lib,${catalina.home}/lib/*.jar
于 2012-10-09T15:56:58.407 回答
1

我觉得这很不寻常,因为它没有得到正确的解释,而且它被大量使用。我的偏好是使用 Linux 安装,然后使用 service 命令标准化启动:

service tomcat7 start

如果您在此之后看到命令,您会看到在操作系统级别启动了一个详细的 java 应用程序,其中包含很多参数,更具体的参数如代理、主机名、路径等。我发现这比仅仅运行 catalina.sh run 更合适,为了防止目录出现问题,你必须为目录、路径等添加带有开关的参数

这种方法还可以防止分散的 conf、admin 和 temp 目录出现问题。

于 2017-11-10T10:41:45.053 回答
0

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

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

于 2012-10-09T08:06:20.643 回答
0

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

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

并且您确定该目录存在。

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

于 2014-11-06T17:17:37.043 回答