それは Jetty の使い方ではありません。
オプション 1: 標準の自動展開
- 展開で何もカスタマイズしていないため、
myconf.xml
完全に削除してください。
myapp.war
をディレクトリにコピーします${jetty.home}/webapps/
。
- ジェティを起動します。
$ java -jar start.jar
これは、Web アプリケーションの自動展開と呼ばれます。
オプション 2: 標準的なコンテキストの展開
ここで、デプロイをカスタマイズする場合 (たとえば、リッスンするコンテキスト パスを微調整したい場合、extractWar プロセスを無効にしたい場合、カスタムの init パラメーターがある場合、または動作を変更したい場合など)デフォルトのサーブレットなど...)、次のことを行います...
- 既存の
myconf.xml
をコピーします${jetty.home}/webapps/myapp.xml
(名前の変更に注意してください)
- にコピー
myapp.war
します${jetty.home}/webapps/myapp.war
(このファイルのベース名は XML と同じである必要があります)。
- を編集
${jetty.home}/webapps/myapp.xml
して展開動作を変更します (例: <Set name="contextPath">/app/1</Set>
)
- ジェティを起動します。
$ java -jar start.jar
これは、特定の WebApp 展開の構成として知られています。
オプション 3: カスタマイズされたコンテキストの展開
war ファイルを 以外の場所に保持したい場合${jetty.home}/webapps/
でも、次の手順を実行する必要があります。
- 既存の
myconf.xml
を にコピーします${jetty.home}/webapps/myconf.xml
。
myapp.war
好きな場所に置いてください。例えば/opt/webapps/myapp.war
- を編集しておよびエントリ
${jetty.home}/webapps/myconf.xml
を設定します。contextPath
war
- ジェティを起動します。
$ java -jar start.jar
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN"
"http://www.eclipse.org/jetty/configure_9_0.dtd">
<Configure id="myapp" class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="server">
<Ref refid="Server" />
</Set>
<Set name="contextPath">/myapp</Set>
<Set name="war">
<SystemProperty name="/opt/webapps/myapp.war" />
</Set>
</Configure>
オプション 4: Jetty ベースの自動展開 (Jetty 9.1+ で利用可能)
${jetty.home}
上記の分割と${jetty.base}
概念 + 自動展開を使用して、Jetty 9.1 以降で使用できる別の手法があります。
jetty-distribution-9.1.x が にアンパックされ/opt/jetty/
、webapp + 構成が にあるとします/opt/myapps/
。次のコマンドを実行できます。
[user]$ cd /opt/myapps
[myapps]$ java -jar /opt/jetty/start.jar --add-to-start=server,deploy,websocket,ext,resources
server initialised in ${jetty.base}/start.ini (appended)
server enabled in ${jetty.base}/start.ini
deploy initialised in ${jetty.base}/start.ini (appended)
deploy enabled in ${jetty.base}/start.ini
MKDIR: ${jetty.base}/webapps
server enabled in ${jetty.base}/start.ini
websocket initialised in ${jetty.base}/start.ini (appended)
websocket enabled in ${jetty.base}/start.ini
server enabled in ${jetty.base}/start.ini
ext initialised in ${jetty.base}/start.ini (appended)
ext enabled in ${jetty.base}/start.ini
MKDIR: ${jetty.base}/lib
MKDIR: ${jetty.base}/lib/ext
resources initialised in ${jetty.base}/start.ini (appended)
resources enabled in ${jetty.base}/start.ini
MKDIR: ${jetty.base}/resources
[myapps]$ ls -l
total 16
drwxrwxr-x 3 user group 4096 Oct 31 08:32 lib/
drwxrwxr-x 2 user group 4096 Oct 31 08:32 resources/
-rw-rw-r-- 1 user group 369 Oct 31 08:30 start.ini
drwxrwxr-x 2 user group 4096 Oct 31 08:30 webapps/
[myapps]$ cat start.ini
--module=server
threads.min=10
threads.max=200
threads.timeout=60000
jetty.dump.start=false
jetty.dump.stop=false
--module=deploy
--module=websocket
--module=ext
--module=resources
[myapps]$ java -jar /opt/jetty/start.jar --list-config | grep -E "jetty.(base|home)="
jetty.home=/opt/jetty
jetty.base=/opt/myapps
[myapps]$ cp /home/user/project/myapp/target/myapp-1.0.war /opt/myapps/webapps/myapp.war
[myapps]$ java -jar /opt/jetty/start.jar
2013-10-31 08:35:58.919:INFO:oejs.Server:main: jetty-9.1.0.RC0
2013-10-31 08:35:58.939:INFO:oejdp.ScanningAppProvider:main: Deployment monitor [file:/opt/myapps/webapps/] at interval 1
2013-10-31 08:35:59.109:INFO:oejw.StandardDescriptorProcessor:main: NO JSP Support for /myapp, did not find org.apache.jasper.servlet.JspServlet
2013-10-31 08:35:59.189:INFO:oejsh.ContextHandler:main: Started o.e.j.w.WebAppContext@223ff173{/myapp,file:/tmp/jetty-myapp.war-_myapp-any-/webapp/,AVAILABLE}{/myapp.war}
作業できる場所が 2 つあります。
${jetty.home}
- あなたの桟橋の分布がどこにあるか
${jetty.base}
- アプリの特定の構成と戦争が配置されている場所
これは非常に強力なオプションであり、私はその機能の表面に触れただけです。