我有一个我希望在Tomcat上发布的WAR。由于此文件非常大(大约150MB),我只需将其放入/usr/share/Tomcat7/webapps
以在服务器重新启动时自动部署它。重新启动tomcat后,应用程序已正确部署,我可以使用http://myhost:8080/myApp
访问该应用程序。但是webapps/myApp
下没有包含构建应用程序的文件的文件夹,archieve文件仍在那里。
所以我想知道如果相应的文件夹不存在,我如何更改该webapp中的任何文件(例如webapps/myApp/WEB-INF
下的配置文件)。或者webapp解压缩在我不知道的任何其他文件夹中?
这是我的server.xml
- 文件:
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on"/>
<Listener className="org.apache.catalina.core.JasperListener"/>
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/>
<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml"/>
</GlobalNamingResources>
<Service name="Catalina">
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="1024"
minSpareThreads="4"/>
<Connector executor="tomcatThreadPool" port="80" connectionTimeout="20000"
redirectPort="443" protocol="org.apache.coyote.http11.Http11NioProtocol"/>
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https"
secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="conf/certificate.jks"
keystoreType="JKS" keystorePass="ciardi25" keyPass="ciardi25"/>
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"
startStopThreads="0">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b"/>
</Host>
</Engine>
</Service>
</Server>
编辑:catalina.out
还声明,该应用已成功部署,因为该文件中有许多评论由我的应用编写。
编辑:操作系统是亚马逊Linux AMI
答案 0 :(得分:1)
如果已通过某个软件包管理器安装了Tomcat,则其文件通常分布在几个目录上,例如/usr/share/tomcatX/
,/var/lib/tomcatX/
和/etc/tomcatX
。
如果您的软件包已部署apt
,则可以尝试dpkg-query -L tomcat7
查看属于该安装的所有路径。使用rpm
,它是rpm -ql tomcat7
。从输出中,您可以确定哪个目录实际上是安装的一部分,哪个不是。
这里有一个Debian安装,其webapps
文件夹位于/var/lib/tomcat7/webapps
。也许你应该检查这个目录是否也包含你的webapp。为什么Tomcat似乎将WAR麻醉到另一个文件夹但仍然是神秘的。您是否使用某些/etc/init.d/tomcat7
来启动/停止它?如果是这样,您可能需要查看该脚本及其在启动时的作用。