gpt4 book ai didi

jetty :如何更改启动临时目录

转载 作者:行者123 更新时间:2023-12-01 13:53:23 25 4
gpt4 key购买 nike

我正在尝试将一个vaadin应用程序部署到 jetty 。

但是当我使用start.jar运行jetty时,它开始到的子文件夹
C:\Users\USERNAME\AppData\Local\Temp\jetty-0.0.0.0-8080-Application.war-....
尽管我已将其放入C:\Program Files\MyApp,但它始终在此处运行-包括它保存的文件。

我该如何告诉 jetty 在它所在的地方开始,并且所有文件都相对于该基地?

我在Windows 7上,我们在谈论的是最新的独立 jetty 包。

任何想法表示赞赏。

最佳答案

Jetty需要一个工作目录。

查找工作目录的搜索顺序如下:

  • 如果使用WebAppContext has a temp directory specified,请使用它。
  • 如果ServletContext设置了javax.servlet.context.tempdir属性,并且目录存在,则使用它。
  • 如果存在${jetty.base}/work目录,请使用它(仅对Jetty 9.1+有效)
  • 如果存在${jetty.home}/work目录,请使用它。
  • 注意:从Jetty 9.1开始,此测试现在为${jetty.base}/work
  • 如果ServletContext设置了org.eclipse.jetty.webapp.basetempdir属性,并且该目录存在,请使用它。
  • 使用System.getProperty("java.io.tmpdir")并使用它。

  • 最简单的是 #3 #4 ,只需在 work${jetty.home}下创建一个 ${jetty.base}目录,然后重新启动Jetty。

    下一个最简单的方法是 #6 ,以在启动Jetty的JVM时指定自己的 java.io.tmpdir
    [jetty-distribution]$ java -Djava.io.tmpdir=/var/web/work -jar start.jar

    其余要求您为该已部署的Webapp配置上下文。

    jetty 7或 jetty 8的示例:

    <?xml version="1.0"  encoding="ISO-8859-1"?>
    <!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN"
    "http://jetty.mortbay.org/configure.dtd">
    <Configure class="org.eclipse.jetty.webapp.WebAppContext">
    <Set name="contextPath"><Property name="foo"/></Set>
    <Set name="war">/var/web/webapps/foo.war</Set>
    <Set name="tempDirectory">/var/web/work/foo</Set>
    </Configure>

    jetty 9的示例(仅是dtd更改):

    <?xml version="1.0"  encoding="ISO-8859-1"?>
    <!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN"
    "http://www.eclipse.org/jetty/configure_9_0.dtd">
    <Configure class="org.eclipse.jetty.webapp.WebAppContext">
    <Set name="contextPath"><Property name="foo"/></Set>
    <Set name="war">/var/web/webapps/foo.war</Set>
    <Set name="tempDirectory">/var/web/work/foo</Set>
    </Configure>

    关于 jetty :如何更改启动临时目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19232182/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com