Jetty Run War仅使用命令行

gbe*_*ley 41 jetty war

是否可以仅使用命令行来jetty仅使用指定war文件和上下文路径运行.

就像是 :

java -jar $jettyHome/start.jar -Dwar.location=myApp.war -DcontextPath=/myApp OPTIONS=default,plus,jsp
Run Code Online (Sandbox Code Playgroud)

rad*_*ado 46

使用码头跑步者.

 java -jar jetty-runner.jar my.war
Run Code Online (Sandbox Code Playgroud)

使用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>
Run Code Online (Sandbox Code Playgroud)

跑:

mvn package
Run Code Online (Sandbox Code Playgroud)

用作:

java -jar target/dependency/jetty-runner.jar target/*.war
Run Code Online (Sandbox Code Playgroud)

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

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


mck*_*mey 7

我写了一个很小的命令行应用程序/ Maven原型,就像我认为这一切应该首先应该有的一样.引导应用程序允许您通过向WAR和您的端口传递路径来启动您选择的servlet容器(Jetty,Tomcat,GlassFish).

使用Maven,您可以创建和打包这个简单应用程序的自己的实例:

mvn archetype:generate \
    -DarchetypeGroupId=org.duelengine \
    -DarchetypeArtifactId=war-bootstrap-archetype \
    -DarchetypeVersion=0.2.1
Run Code Online (Sandbox Code Playgroud)

然后你像这样启动它:

java -jar bootstrap.jar -war myapp.war -p 8080 -c /myapp --jetty
Run Code Online (Sandbox Code Playgroud)

以下是该实用程序和原型的来源:https://bitbucket.org/mckamey/war-bootstrap


Tim*_*Tim 2

如果您设置了适当的启动配置(jetty.xml),这是可能的。

开箱即用,jetty 并没有附带执行此操作的 jetty.xml,但您可以很容易地编写一个。

这意味着你要么

  1. 有一个更像是的命令行

    java -jar $jettyHome/start.jar -Dwar.location=myApp.war -DcontextPath=/myApp jetty-myapp.xml
    
    Run Code Online (Sandbox Code Playgroud)

    或者

    java -jar $jettyHome/start.jar -Dwar.location=myApp.war -DcontextPath=/myApp etc/jetty.xml etc/jetty-plus.xml jetty-deploy-app.xml
    
    Run Code Online (Sandbox Code Playgroud)
  2. 自己覆盖etc/jetty.xml并将您想要的信息放在那里。

Jetty 启动非常简单,因此它实际上只是生成一个可以执行您想要的操作的 XML 文件。该 XML 文件可以从系统属性中读取值,因此您可以使用各种“-D”选项。