web-dev-qa-db-ja.com

コマンドラインのみを使用したJetty Run War

コマンドラインのみを使用して、指定されたjettyファイルとコンテキストパスのみでwarを実行することは可能ですか?.

何かのようなもの :

Java -jar $jettyHome/start.jar -Dwar.location=myApp.war -DcontextPath=/myApp OPTIONS=default,plus,jsp
41
gbegley

jetty runner を使用します。

 Java -jar jetty-runner.jar my.war

Mavenを使用すると、pom.xml

<build>
    ...
    <plugins>
        ...
        <plugin>
            <groupId>org.Apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>2.3</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals><goal>copy</goal></goals>
                    <configuration>
                        <artifactItems>
                            <artifactItem>
                                <groupId>org.mortbay.jetty</groupId>
                                <artifactId>jetty-runner</artifactId>
                                <version>7.5.4.v20111024</version>
                                <destFileName>jetty-runner.jar</destFileName>
                            </artifactItem>
                        </artifactItems>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

実行:

mvn package

そして次のように使用します:

Java -jar target/dependency/jetty-runner.jar target/*.war

http://www.Eclipse.org/jetty/documentation/current/runner.html

http://central.maven.org/maven2/org/Eclipse/jetty/jetty-runner/

46
rado

私は小さなコマンドラインアプリ/ Mavenアーキタイプを作成しました。 bootstrapアプリでは、WARとポートへのパスを渡すだけで、選択したサーブレットコンテナ(Jetty、Tomcat、GlassFish)を起動できます。

Mavenを使用すると、この単純なアプリの独自のインスタンスを作成してパッケージ化できます。

mvn archetype:generate \
    -DarchetypeGroupId=org.duelengine \
    -DarchetypeArtifactId=war-bootstrap-archetype \
    -DarchetypeVersion=0.2.1

次に、次のように起動します。

Java -jar bootstrap.jar -war myapp.war -p 8080 -c /myapp --jetty

ユーティリティとアーキタイプのソースは次のとおりです。 https://bitbucket.org/mckamey/war-bootstrap

7
mckamey

jetty-runner-minimal を使用:

$ git clone https://github.com/kissaten/jetty-runner-minimal
$ cd jetty-runner-minimal && mvn package
$ Java -jar jetty-runner-minimal/target/dependency/jetty-runner.jar myapp.war
2
tokland

適切な開始構成(jetty.xml)がセットアップされていれば可能です。

すぐに使用できるjettyには、それを行うjetty.xmlが付属していませんが、簡単に作成できます。

それはあなたが

  1. もっと似たコマンドラインを使用する

    Java -jar $jettyHome/start.jar -Dwar.location=myApp.war -DcontextPath=/myApp jetty-myapp.xml
    

    または

    Java -jar $jettyHome/start.jar -Dwar.location=myApp.war -DcontextPath=/myApp etc/jetty.xml etc/jetty-plus.xml jetty-deploy-app.xml
    
  2. Etc/jetty.xmlを自分でオーバーライドし、そこに必要な情報を入れます。

Jettyのスタートアップは非常に単純なので、実際に必要なことを行うXMLファイルを作成するだけです。そのXMLファイルはシステムプロパティから値を読み取ることができるため、さまざまな「-D」オプションを使用できます。

2
Tim