jetty.home
Jetty の起動メカニズムによって設定されます。
Jetty 6.1.26 を使用しています (注: Jetty 6.x は廃止され、2010 年にサポートが終了しました)
Jetty 6 がどのように機能したかはわかりませんが、Jetty 7/8/9 がこの点でどのように機能するかは知っています。
更新: 2019 年 8 月: Jetty 9.4.x は、Jetty の現在の安定版であり、積極的にサポートされているバージョンのメインラインです。
Jetty 開始メカニズム (モジュール: /jetty-start/
. aka start.jar
) は、( に存在するファイル) 内の一連のルールに基づいjetty.home
てプロパティを確立し、クラス (にも定義されている) を使用して、オブジェクト内の一連のプロパティを確立します。次に、コマンド ラインで宣言された XML ファイルをロードします。start.config
start.jar
org.eclipse.jetty.xml.XmlConfiguration
start.config
XmlConfiguration
start.ini
問題 #1: Jetty のバージョンが混在している
Jetty バージョンが混在していますが、Jetty 6 (宣言された jetty ホーム フォルダーに表示さD:\Developer Tools\jetty-6.1.26
れる) と Jetty 7 (/etc/jetty7/context
宣言に表示される) では機能しません。それらは 100% 互換性がありません。
問題 #2: 不適切な XML 構文の使用
パスを操作するための XML 構文が間違っています。
あなたの構文
<Set name="monitoredDir">
<SystemProperty name="jetty.home" default="" />/etc/jetty7/context
</Set>
- 相対パスと絶対パスが混在しているため、機能しません。
<SystemProperty>
パスを操作するときは、使用時に常にデフォルト値を宣言する必要があります。(空のデフォルトは無効です)
相対パスの正しい構文
<Set name="monitoredDir">
<SystemProperty name="jetty.home" default="." />etc/jetty7/context
</Set>
あなたjetty.home
がD:\Developer Tools\jetty-distribution-7.6.11.v20130520
の場合、これは を指しますD:\Developer Tools\jetty-distribution-7.6.11.v20130520\etc\jetty7\context
jetty.home
使用する前に宣言しない場合XmlConfiguration
、デフォルト値が使用され、"."
現在の作業ディレクトリ (別名System.getProperty("user.dir")
) に指定したハードコードされた相対パスを加えたものとして変換されます。の場合、結果は次のようになりますuser.dir
。D:\Code\MyProject
D:\Code\MyProject\etc\jetty7\context
絶対パスの正しい構文
<Set name="monitoredDir">/etc/jetty7/context</Set>
この構文はあまり気にしない可能性jetty.home
があり、結果は常に/etc/jetty7/context
unix および (可能性が高い) C:\etc\jetty7\context
Windows で発生します。