Jetty Run War Используя только командную строку - PullRequest
41 голосов
/ 02 сентября 2010

Можно ли использовать только командную строку для запуска jetty только с указанным файлом war и контекстным путем.

Что-то вроде:

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

Ответы [ 5 ]

46 голосов
/ 14 мая 2011

Используйте Причал бегун .

 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/

7 голосов
/ 27 июля 2011

Я написал крошечное приложение командной строки / архетип Maven, который работает так, как я думал, что все это должно иметь в первую очередь.Приложение начальной загрузки позволяет запустить выбранный контейнер сервлетов (Jetty, Tomcat, GlassFish), просто передав ему путь к WAR и вашему порту.

Используя 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 голосов
/ 13 февраля 2017

Использование 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 голосов
/ 20 января 2011

Это возможно, если у вас настроена соответствующая начальная конфигурация (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".

0 голосов
/ 16 марта 2018

установить maven из командной строки:

sudo apt install maven

запустить войну из командной строки в папке, где pom.xml:

mvn jett:run-war
...