我在尝试将我们的应用程序从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.
我不知道为什么这些东西无法加载。有没有一个地方我可以找到更全面的日志,或者你有一些想法,我可以尝试使这项工作?
答案 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目录出现问题。