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

Jetty:如何更改启动临时目录,jetty,Jetty,我正在尝试将vaadin应用程序部署到jetty 但是,当我使用start.jar运行jetty时,它会启动 C:\Users\USERNAME\AppData\Local\Temp\jetty-0.0.0-8080-Application.war-… 虽然我已经将它放入C:\Program Files\MyApp,但它总是在那里运行,包括它保存的文件 我如何告诉jetty从它所在的位置开始,并拥有与此基础相关的所有文件 我使用的是Windows7,我们讨论的是最新的独立jetty软件包 任何想

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

但是,当我使用
start.jar
运行jetty时,它会启动

C:\Users\USERNAME\AppData\Local\Temp\jetty-0.0.0-8080-Application.war-…

虽然我已经将它放入
C:\Program Files\MyApp
,但它总是在那里运行,包括它保存的文件

我如何告诉jetty从它所在的位置开始,并拥有与此基础相关的所有文件

我使用的是Windows7,我们讨论的是最新的独立jetty软件包


任何想法都可以。Jetty需要一个工作目录

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

  • 如果需要,请使用它
  • 如果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,只需在
    ${jetty.home}
    ${jetty.base}
    下面创建一个
    工作
    目录,然后重新启动jetty

    下一个最简单的方法是#6,在为Jetty启动JVM时指定自己的
    java.io.tmpdir

    [jetty-distribution]$ java -Djava.io.tmpdir=/var/web/work -jar start.jar
    
    其余部分要求您为已部署的webapp配置上下文

    7号码头或8号码头示例:

    
    /var/web/webapps/foo.war
    /var/web/work/foo
    
    Jetty 9示例(仅dtd变更):

    
    /var/web/webapps/foo.war
    /var/web/work/foo
    
    谢谢。这实际上解决了我的问题。我选择创建一个
    工作/
    目录。关于此解决方案是否也适用于嵌入式jetty服务器?