Подтвердить что ты не робот

Jetty Run War Использование только командной строки

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

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

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

Ответ 1

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

 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>

Run:

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/

Ответ 2

Я написал крошечное приложение командной строки /Maven архетип, который работает так, как я думал, что все это должно иметь в первую очередь. Приложение bootstrap позволяет запускать ваш контейнер сервлетов (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

Ответ 3

Возможно, если у вас установлена ​​соответствующая настройка запуска (jetty.xml).

Из коробки, причал не поставляется с 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".

Ответ 4

Использование 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