docker运行战争只使用命令行

是否有可能只使用命令行来运行只有一个指定的war文件和上下文path的jetty

就像是 :

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

使用docker跑步者 。

  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/

我已经写了一个很小的命令行应用程序/ Maven原型,它的工作方式就像我认为这一切应该放在首位。 启动应用程序让你启动你select的servlet容器(Jetty,Tomcat,GlassFish),只要传递给WAR和你的端口。

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

 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

这是可能的,如果你有适当的启动configuration(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”选项。

使用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