2012-03-01 24 views
5

私はJettyを実行し、war-fileを指定し、Jettyが特定の場所に展開する必要があります。 Jettyの一般的な動作は、TEMPディレクトリまたはJETTY_HOME/workディレクトリを取得し、war-fileを次のようなサブフォルダに展開することです:jetty-HOST-PORT-CONTEXT.war -_- any- これは絶対に不適切です。 PORTの部分がランダムなためです。ウォーファイルはJettyによって解凍されていなければならず、宛先は100%フレキシブルでなければなりません。Jetty:特定のフォルダに.warを展開します。

それは可能ですか?ご意見をお聞かせください。桟橋は私の専門分野ではありませんが、質問が不自由な場合や些細な場合は私を許してください。

ありがとうございました!

+0

http://wiki.eclipse.org/Jetty/Howto/Deploy_Web_Applications#Deploying_Webapps? – Jayan

+0

この動作が必要な理由を説明できますか?私はあなたが間違った問題を解決しようとしていると感じています。 – Tim

+0

@Tim次のようにjettyを起動する必要のあるアプリケーションがあります:command-to-start-jetty PORT path-to-war-file path-抽出された戦争ファイルを抽出する。 アプリケーションはワーカーを制御し、開始時にランダムに使用可能なポートを設定します。 – Slava

答えて

5

ありがとうございます。私は、次のコードで桟橋を拡張する必要性を達成するために管理してきました:

int port = 8080; 
String context_path = "/"; 
File tmp_directory = "C:\\some-custom-path\\"; 
String war_path = "C:\\path-to-a\\file.war"; 

WebAppContext app = new WebAppContext(); 
app.setContextPath(context_path); 
app.setWar(war_path); 
app.setTempDirectory(tmp_directory); 

Server server = new Server(port); 
server.setHandler(app); 
server.start(); 
server.join(); 

app.setTempDirectoryコールは桟橋がカスタムフォルダに戦争-ファイルを解凍します。私は他の方法を見つけることはできませんでしたが、解決策は私に合っています。

1

(試したことはありません、wikiページjetty wikiから読んでください) 定義済みのdirecoryに戦争を抽出することができます。そのフォルダをsetWar引数として指定します。

Server server = new Server(8080); 
    WebAppContext webapp = new WebAppContext(); 
    webapp.setContextPath("/"); 
    webapp.setWar(jetty_home+"/webapps/testlocation/"); 
    server.setHandler(webapp); 
+0

ありがとうございます。それは設定ファイル経由で可能ですか? – Slava

関連する問題