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のいずれかです。またはの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>