1

部署 Web 应用程序后,我的 Tomcat 7 服务器不再启动,在启动过程中发出异常信号。

所以我尝试配置Tomcat以避免在启动时部署webapps。
为此,我修改了我的并向节点${CATALINA_BASE}/conf/server.xml添加了一个autoDeploy="false"属性。Host(我还验证了没有liveDeploy属性):

<Host appBase="webapps" autoDeploy="false" name="localhost" unpackWARs="true">
...

然后我阅读了具有稍微不同行为的 liveDeploy 属性,并确保我也禁用了它:

<Host appBase="webapps" autoDeploy="false" liveDeploy = "false" name="localhost" unpackWARs="true">
...

问题是它似乎什么也没做,在输出中我仍然看到“部署配置描述符”行,直到导致 Tomcat 崩溃的那一行。

这是服务器输出;我已经包含了启动、正确部署的第一个应用程序 (MyFirstApplication) 以及使服务器崩溃的最后一个应用程序。

使用 CATALINA_BASE:“C:\Users\Jack\AppData\Roaming\NetBeans\7.2\apache-tomcat-7.0.11.0_base”
使用 CATALINA_HOME:“C:\Program Files\Apache Software Foundation\Apache Tomcat 7.0.11”
使用 CATALINA_TMPDIR:“C:\Users\Jack\AppData\Roaming\NetBeans\7.2\apache-tomcat-7.0.11.0_base\temp”
使用 JRE_HOME:“C:\Program Files (x86)\Java\jdk1.7.0”
使用 CLASSPATH:“C:\Program Files\Apache Software Foundation\Apache Tomcat 7.0.11\bin\bootstrap.jar;C:\Program Files\Apache Software Foundation\Apache Tomcat 7.0.11\bin\tomcat-juli.jar”
2013 年 14 月 14 日下午 3:08:28 org.apache.catalina.core.AprLifecycleListener init
信息:在 java.library.path:C:\Program Files (x86)\Java\jdk1.7.0\bin;C:\Windows\Sun \Java\bin;C:\Windows\system32;C:\Windows;C:\Perl64\site\bin;C:\Perl64\bin;C:\Program Files (x86)\CollabNet\Subversion Client;C:\ Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem ;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files (x86) \Windows Live\Shared;C:\Program Files (x86)\Common Files\Roxio Shared\DLLShared\;C:\Program Files (x86)\Common Files\Roxio Shared\OEM\DLLShared\;C:\Program Files (x86)\Common Files\Roxio Shared\OEM\DLLShared\;C:\Program Files (x86)\Common Files\Roxio Shared\OEM\12.0\DLLShared\;C:\Program Files (x86)\Roxio \OEM\AudioCore\;C:\Program Files\Java\jdk1.6.0_23\bin;C:\Program Files (x86)\GnuWin32\bin;C:\Program Files (x86)\spring-roo-1.1.4 .RELEASE\bin;C:\Program Files\NetBeans 6.9.1\java\ant\bin;C:\Program Files (x86)\GNU\GnuPG\pub;C:\Program Files (x86)\QuickTime\QTSystem\ ;c:\Program Files\NetBeans 7.2\java\maven\bin;C:\Program Files (x86)\Nmap;C:\cmdutilities;.\Program Files (x86)\QuickTime\QTSystem\;c:\Program Files\NetBeans 7.2\java\maven\bin;C:\Program Files (x86)\Nmap;C:\cmdutilities;.\Program Files (x86)\QuickTime\QTSystem\;c:\Program Files\NetBeans 7.2\java\maven\bin;C:\Program Files (x86)\Nmap;C:\cmdutilities;.
2013 年 1 月 14 日下午 3:08:28 org.apache.coyote.AbstractProtocolHandler 初始化
信息:初始化 ProtocolHandler ["http-bio-8084"]
2013 年 1 月 14 日下午 3:08:28 org.apache.coyote.AbstractProtocolHandler 初始化
信息:初始化 ProtocolHandler ["ajp-bio-8009"]
2013 年 1 月 14 日下午 3:08:28 org.apache.catalina.startup.Catalina 加载
信息:初始化处理时间为 411 毫秒
2013 年 1 月 14 日下午 3:08:28 org.apache.catalina.core.StandardService startInternal
信息:启动服务 Catalina
2013 年 1 月 14 日下午 3:08:28 org.apache.catalina.core.StandardEngine startInternal
信息:启动 Servlet 引擎:Apache Tomcat/7.0.11
2013 年 1 月 14 日下午 3:08:28 org.apache.catalina.startup.HostConfig deployDescriptor
信息:从 C:\Users\Jack\AppData\Roaming\NetBeans\7.2\apache-tomcat-7.0.11.0_base\conf\Catalina\localhost 部署配置描述符 MyFirstWebApp.xml
2013 年 14 月 14 日下午 3:08:38 org.springframework.web.context.ContextLoader initWebApplicationContext
信息:Root WebApplicationContext:初始化开始
[...]
信息:从 C:\Users\Jack\AppData\Roaming\NetBeans\7.2\apache-tomcat-7.0.11.0_base\conf\Catalina\localhost 部署配置描述符 manager.xml
2013 年 14 月 14 日下午 3:08:40 org.apache.catalina.startup.HostConfig deployDescriptor
信息:从 C:\Users\Jack\AppData\Roaming\NetBeans\7.2\apache-tomcat-7.0.11.0_base\conf\Catalina\localhost 部署配置描述符 MavenSpringHibernate.xml
线程“main”中的异常 线程“Thread-1”中的异常
4

1 回答 1

5

您想要设置 deployOnStartup,而不是 autoDeploy(或两者都可能)。liveDeploy没有这样的设置。

来自 Host [1] 的 Tomcat 7 文档

自动部署

此标志值指示 Tomcat 是否应在 Tomcat 运行时定期检查新的或更新的 Web 应用程序。如果为 true,Tomcat 会定期检查 appBase 和 xmlBase 目录并部署任何新的 Web 应用程序或找到的上下文 XML 描述符。更新的 Web 应用程序或上下文 XML 描述符将触发 Web 应用程序的重新加载。该标志的值默认为 true。有关详细信息,请参阅自动应用程序部署。

部署启动

此标志值指示是否应在 Tomcat 启动时自动部署来自该主机的 Web 应用程序。该标志的值默认为 true。有关详细信息,请参阅自动应用程序部署。

[1] http://tomcat.apache.org/tomcat-7.0-doc/config/host.html

于 2013-01-17T09:59:09.570 回答