the - Jetty Run War en utilisant uniquement la ligne de commande




pom xml jetty port (4)

C'est possible, si vous avez configuré la configuration de départ appropriée (jetty.xml).

Hors de la boîte, jetty n'est pas livré avec un fichier jetty.xml qui le fait, mais vous pouvez en écrire un assez facilement.

Cela voudrait dire que tu devrais soit

  1. Avoir une ligne de commande qui ressemblait plus à

    java -jar $jettyHome/start.jar -Dwar.location=myApp.war -DcontextPath=/myApp jetty-myapp.xml
    

    ou

    java -jar $jettyHome/start.jar -Dwar.location=myApp.war -DcontextPath=/myApp etc/jetty.xml etc/jetty-plus.xml jetty-deploy-app.xml
    
  2. Remplacez vous-même le fichier etc / jetty.xml et insérez-y les informations souhaitées.

Le démarrage de Jetty est assez simple, il s’agit donc vraiment de produire un fichier XML qui fait ce que vous voulez. Ce fichier XML peut lire les valeurs des propriétés du système, vous pouvez donc utiliser vos différentes options "-D".

Est-il possible d'utiliser uniquement la ligne de commande pour exécuter la jetty avec uniquement un fichier war et un chemin de contexte spécifiés?

Quelque chose comme :

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

J'ai écrit un petit archétype d'application de ligne de commande / Maven qui fonctionne comme je le pensais. L'application d'amorçage vous permet de lancer le conteneur de votre choix de servlet (Jetty, Tomcat, GlassFish) en lui transmettant simplement le chemin d'accès au fichier WAR et à votre port.

En utilisant Maven, vous pouvez créer et conditionner votre propre instance de cette application simple:

mvn archetype:generate \
    -DarchetypeGroupId=org.duelengine \
    -DarchetypeArtifactId=war-bootstrap-archetype \
    -DarchetypeVersion=0.2.1

Ensuite, vous le lancez comme ceci:

java -jar bootstrap.jar -war myapp.war -p 8080 -c /myapp --jetty

Voici la source de l'utilitaire et de l'archétype: https://bitbucket.org/mckamey/war-bootstrap


Utilisez le coureur de la jetée .

 java -jar jetty-runner.jar my.war

Avec Maven, vous pouvez installer en ajoutant à votre 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>

Courir:

mvn package

Et utiliser comme:

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/


installez maven en ligne de commande:

sudo apt install maven

lance war depuis la ligne de commande sur le dossier, où pom.xml:

mvn jett:run-war