已部署Web-App但Webapps中没有文件夹

时间:2015-11-02 15:08:36

标签: tomcat war

我有一个我希望在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 &quot;%r&quot; %s %b"/>

            </Host>
        </Engine>
    </Service>
</Server>

编辑:catalina.out还声明,该应用已成功部署,因为该文件中有许多评论由我的应用编写。

编辑:操作系统是亚马逊Linux AMI

1 个答案:

答案 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来启动/停止它?如果是这样,您可能需要查看该脚本及其在启动时的作用。