码头:提取战争的道路

时间:2012-01-09 13:03:41

标签: jetty

我在Jetty Server中部署了一个.war文件。

服务器已启动,但请告诉我在哪里可以看到该war文件的内容?

我读过:

  

如果extract参数为true,则任何打包的war或zip文件都将为   首先在部署之前将其解压缩到临时目录。

请告诉我在哪里可以设置extract参数为true以及临时文件夹路径是什么?

这是我的jetty-webapps.xml文件

<Configure id="Server" class="org.eclipse.jetty.server.Server">
    <Ref id="DeploymentManager">
          <Call id="webappprovider" name="addAppProvider">
            <Arg>
              <New class="org.eclipse.jetty.deploy.providers.WebAppProvider">
                <Set name="monitoredDirName"><Property name="jetty.home" default="." />/webapps</Set>
                <Set name="defaultsDescriptor"><Property name="jetty.home" default="."/>/etc/webdefault.xml</Set>
                <Set name="scanInterval">1</Set>
                <Set name="contextXmlDir"><Property name="jetty.home" default="." />/contexts</Set>
        <Set name="extractWars">true</Set>
              </New>
            </Arg>
          </Call>
    </Ref>
</Configure>

3 个答案:

答案 0 :(得分:7)

检查日志文件。它应该像这样

  

2012-11-06 17:41:54.334:INFO:oejw.WebInfConfiguration:提取jar:file:/usr/oc/jcast8083/webapps/spdy.war!/ to /tmp/jetty-0.0.0.0-8083 -spdy.war-_spdy-任何 - / web应用

在这种情况下,war文件的内容在

  

/tmp/jetty-0.0.0.0-8083-spdy.war-_spdy-any-/webapp

答案 1 :(得分:4)

您部署的所有war文件都会在Jetty_Home/work中提取以进行部署。但是,如果您希望在部署到工作文件夹之前将文件提取到temp文件夹中,则可以在extractWars文件中将jetty-webapps.xml参数设置为true。 jetty-webapps.xml文件位于Jetty_HOME/etc/文件夹中。

<Configure id="Server" class="org.eclipse.jetty.server.Server">
    <Ref id="DeploymentManager">
          <Call id="webappprovider" name="addAppProvider">
            <Arg>
              <New class="org.eclipse.jetty.deploy.providers.WebAppProvider">
                <Set name="monitoredDirName"><Property name="jetty.home" default="." />/webapps</Set>
                <Set name="defaultsDescriptor"><Property name="jetty.home" default="."/>/etc/webdefault.xml</Set>
                <Set name="scanInterval">1</Set>
                <Set name="contextXmlDir"><Property name="jetty.home" default="." />/contexts</Set>
        <Set name="extractWars">true</Set>
              </New>
            </Arg>
          </Call>
    </Ref>
</Configure>

答案 2 :(得分:0)

根据Link

你几乎没有选择。

1)为jetty指定自己的java.io.tmpdir java系统属性位置。

$ java -Djava.io.tmpdir=/path/to/my/new/temp/ -jar start.jar

2)在${jetty.home}路径下创建一个“工作”目录(不管是什么)。     这将导致Jetty使用该工作目录,而不是java.io.tmpdir属性设置为。

3)在WebAppProvider部署中指定tempDir属性。

仅对war文件部署方案有效,对基于上下文的部署无效。

如果您的etc/jetty-webapps.xml中有start.ini,则表示您已启用war文件部署。

编辑${jetty.home}/etc/jetty-webapps.xml文件,并在WebAppProvider上再添加1个属性。     <Set name="tempDir">/path/to/my/preferred/temp/dir/for/all/webapps</Set>

4)使用基于上下文的部署在WebAppContext上设置tempDirectory属性。     不适用于war文件部署方案。

如果您的etc/jetty-context.xml中有start.ini,则表明您已启用基于上下文的部署。

编辑${jetty.home}/contexts/myapp.xml并在WebAppContext上添加tempDirectory属性。     <Set name="tempDirectory">/path/to/my/preferred/temp/dir/for/this/context</Set>