是否可以仅使用命令行运行jetty
,只使用指定的war
文件和上下文路径。
类似的东西:
java -jar $jettyHome/start.jar -Dwar.location=myApp.war -DcontextPath=/myApp OPTIONS=default,plus,jsp
答案 0 :(得分:46)
使用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/
答案 1 :(得分:7)
我写了一个小命令行应用程序/ Maven原型,就像我认为这一切应该首先应该有的一样。引导应用程序允许您通过向WAR和您的端口传递路径来启动您选择的servlet容器(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
答案 2 :(得分:2)
如果您设置了适当的启动配置(jetty.xml),则可能。
开箱即用,jetty没有附带jetty.xml,但你可以轻松地写一个。
这意味着你要么
有一个更像
的命令行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
自己覆盖etc / jetty.xml并将所需信息放在那里。
Jetty启动非常简单,因此它只是生成一个可以满足您需求的XML文件。 该XML文件可以从系统属性中读取值,因此您可以使用各种“-D”选项。
答案 3 :(得分:2)
$ 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
答案 4 :(得分:-1)
从命令行安装maven:
sudo apt install maven
从文件夹的命令行运行war,其中pom.xml:
mvn jett:run-war