Jetty 需要一个工作目录。
其查找工作目录的搜索顺序如下:
- 如果WebAppContext 指定了临时目录,请使用它。
- 如果 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 ,只需在or下创建一个work
目录并重新启动 Jetty。${jetty.home}
${jetty.base}
下一个最简单的是#6java.io.tmpdir
,在您为 Jetty 启动 JVM 时指定您自己的。
[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>