Il semble que Eclipse (Kepler) ne dispose pas du plug-in approprié pour Tomcat 8. Je souhaite déployer mon fichier .war sur Tomcat 8 et l'exécuter à l'aide du fichier pav.xml Maven. Quelqu'un peut-il me fournir des conseils étape par étape ou des ressources, s'il vous plaît?
Mon fichier POM:
<project xmlns="http://maven.Apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.Apache.org/POM/4.0.0 http://maven.Apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>Test-App</groupId>
<artifactId>test-rest</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>test-rest Maven Webapp</name>
<url>http://maven.Apache.org</url>
<!-- Tomcat plugin -->
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.Apache.Tomcat.maven</groupId>
<artifactId>Tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<path>/${project.build.finalName}</path>
<update>true</update>
<url>http:// localhost:8080/manager/text</url>
<username>Tomcat</username>
<password>tomcatuser</password>
</configuration>
</plugin>
</plugins>
<finalName>test-rest</finalName>
</build>
</project>
Pouvez-vous utiliser le plugin cargo à la place, cela fonctionne pour moi, en déployant sur Tomcat 8:
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.4.8</version>
<configuration>
<container>
<containerId>Tomcat8x</containerId>
<home>${env.CATALINA_HOME}</home>
</container>
<configuration>
<type>existing</type>
<home>${env.CATALINA_HOME}</home>
</configuration>
<deployables>
<deployable>
<groupId>com.yourcompany</groupId>
<artifactId>ROOT</artifactId>
<type>war</type>
<properties>
<context>${project.build.finalName}</context>
</properties>
</deployable>
</deployables>
<deployer>
<type>installed</type>
</deployer>
</configuration>
</plugin>
Exemple de comment mener votre guerre avec cargo et Tomcat8
mvn clean verify org.codehaus.cargo:cargo-maven2-plugin:run -Dcargo.maven.containerId=Tomcat8x -Dcargo.maven.containerUrl=http://repo1.maven.org/maven2/org/Apache/Tomcat/tomcat/8.5.9/Tomcat-8.5.9.Zip
Si vous voulez l'ajouter à votre pom
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>${cargo.version}</version>
<configuration>
<container>
<containerId>Tomcat8x</containerId>
<zipUrlInstaller>
<url>http://repo1.maven.org/maven2/org/Apache/Tomcat/tomcat/8.5.9/Tomcat-8.5.9.Zip</url>
</zipUrlInstaller>
</container>
</configuration>
</plugin>
Puis de vous faire la guerre (si votre pom est une guerre)
mvn cargo:run
Pour exécuter avec le débogage (options de mémoire non nécessaires)
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>${cargo.version}</version>
<configuration>
<container>
<containerId>Tomcat8x</containerId>
<zipUrlInstaller>
<url>http://repo1.maven.org/maven2/org/Apache/Tomcat/tomcat/8.5.9/Tomcat-8.5.9.Zip</url>
</zipUrlInstaller>
</container>
<configuration>
<properties>
<!-- <cargo.servlet.port>8200</cargo.servlet.port> -->
<cargo.jvmargs>-Xmx2048m -Xms512m</cargo.jvmargs>
<cargo.start.jvmargs>-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000</cargo.start.jvmargs>
</properties>
</configuration>
</configuration>
</plugin>
Ensuite, vous devez créer une configuration de débogage à distance dans votre IDE sur le port 8000 (port par défaut si rien n’est spécifié).
D'autres commandes ici: https://codehaus-cargo.github.io/cargo/Maven2+plugin.html#Maven2plugin-TheCargoMavenpluginindetail
Pour Tomcat 8, vous devez utiliser cargo-maven2-plugin, qui fonctionne à la fois pour maven 2 et maven 3. Lors de la configuration du plugin cargo, assurez-vous que la valeur de Container Id est "Tomcat8x". Ne pas omettre le "x" après Tomcat8.
Juste au cas où vous utiliseriez un serveur local Tomcat séparé. Si vous utilisez Tomcat intégré, cela ne s'applique pas.
Dans votre pom.xml, ajoutez le plugin Tomcat. (Vous pouvez l'utiliser pour Tomcat 7 et 8):
pom.xml
<!-- Tomcat plugin -->
<plugin>
<groupId>org.Apache.Tomcat.maven</groupId>
<artifactId>Tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>http:// localhost:8080/manager/text</url>
<server>TomcatServer</server> *(From maven > settings.xml)*
<username>*yourtomcatusername*</username>
<password>*yourtomcatpassword*</password>
</configuration>
</plugin>
Tomcat-users.xml
<Tomcat-users>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="admin" password="password" roles="manager-gui,manager-script" />
</Tomcat-users>
settings.xml (maven> conf)
<servers>
<server>
<id>TomcatServer</id>
<username>admin</username>
<password>password</password>
</server>
</servers>
* deploy/re-deploy
MVN Tomcat7: deploy OR MVN Tomcat7: redéployer
J'ai essayé cela (Ubuntu et Windows 8/10):
* Jdk 7 & Tomcat 7
* Jdk 7 & Tomcat 8
* Jdk 8 & Tomcat 7
* Jdk 8 & Tomcat 8
Testé à la fois sur Jdk 7/8 et Tomcat 7/8. (Fonctionne avec Tomcat 8.5 Aussi, testera Tomcat 9 prochainement)
Remarque:
Le gestionnaire Tomcat doit être en cours d’exécution ou correctement configuré avant de pouvoir être utilisé avec maven.