Port alternatif pour Tomcat (pas 8080) en commençant par Maven?

Existe-t-il un moyen simple de spécifier un autre port pour Tomcat dans pom ou sur la ligne de commande. Je voudrais avoir plusieurs projets en cours d’exécution sur la même machine.

Je sais que ce fil est vieux mais…

Le lien vers la documentation fournie par Greg est intéressant:

port: The port to run the Tomcat server on. Type: int Required: No Expression: ${maven.tomcat.port} Default: 8080 

L’expression est ce que Maven utilise pour obtenir la valeur dans son code. Cela peut provenir d’un fichier de configuration ou de la ligne de commande.

Tu pourrais courir

 mvn -Dmaven.tomcat.port=8181 tomcat:run-war 

J’ai eu un problème similaire lorsque j’avais plusieurs petites servlets qui exécutaient leur phase de test d’intégration en même temps, ce qui est devenu un problème car ceux-ci étaient configurés pour utiliser le même port. Mais grâce à l’objective build-helper-maven-plugin: reserve-network-port , il est possible d’obtenir des numéros de port aléatoires disponibles. Ensuite, je peux créer une URL contenant http: // localhost: [port] / [servletname] , qui alimente la classe de test Java.

Récupération du port aléatoire :

  org.codehaus.mojo build-helper-maven-plugin 1.7   reserve-network-port  reserve-network-port  pre-integration-test   tomcat.http.port     

Démarrer tomcat avec le port

  org.apache.tomcat.maven tomcat6-maven-plugin  ${tomcat.http.port} true  ....  

Alimenter l’URL du test d’intégration Java exécuté par le plug-in de sécurité

  org.apache.maven.plugins maven-failsafe-plugin 2.12.3 ....   http://localhost:${tomcat.http.port}/${project.build.finalName}/    

Code Java

 public class DownloadAreaIT { private static final Ssortingng URL = System.getProperty("integration-test.url"); } 

En utilisant la syntaxe donnée sur tomcat-maven-plugin , vous pouvez directement spécifier le port:

  org.codehaus.mojo tomcat-maven-plugin  tomcat-development-server 9966   

Ci-dessous travaillé pour moi:

   9090   org.apache.tomcat.maven tomcat7-maven-plugin 2.2  ${maven.tomcat.port}   

Vous devez append la configuration du port de manière permanente en y ajoutant le port d’atsortingbut.

    org.apache.tomcat.maven tomcat7-maven-plugin 2.0  9090     

Si vous utilisez le plug-in maven tomcat, vous pouvez spécifier un fichier context.xml en ajoutant un bloc de configuration de plug-in au fichier pom.xml:

  ...    org.codehaus.mojo tomcat-maven-plugin 1.0-beta-1  both     ...  

Le fichier context.xml par défaut utilisé se trouve dans src/main/webapp/META-INF/context.xml .

Définissez différents ports là-bas.

Je pense que le plus simple est le suivant (si votre test est correctement lié à la phase d’intégration):

  org.codehaus.mojo build-helper-maven-plugin   reserve-network-port  reserve-network-port  pre-integration-test   maven.tomcat.port      

Il existe un moyen simple et efficace de changer Tomcat (pas 8080) lorsque vous commencez avec Maven

Modifiez simplement votre application.properties (si vous n’avez pas de fichier application.properties, puis créez un fichier application.properties dans le répertoire de ressources de votre projet maven) et définissez la ligne ci-dessous
server.port = 8181 // Vous pouvez choisir votre numéro de port.

  org.apache.tomcat.maven tomcat7-maven-plugin 2.2  tomcat-development-server 9090   

Après avoir passé environ 3 heures à changer le port dans POM.xml, voici ma dernière solution.

  org.apache.tomcat.maven tomcat7-maven-plugin 2.2  8081   

Utiliser uniquement le port ne fonctionnait pas car ce n’est pas une propriété que vous pouvez définir dans . Nous avons besoin de comprendre ce qui cause le problème. Dans mon cas, l’erreur était que le port 8080 est pris. J’ai changé le port dans server.xml à 8081 mais maven ne le prend pas à partir de là. Nous devons le dire spécifiquement dans le champ de configuration . C’est où 8081 vient en secours. Remarque: vous pouvez modifier le port 8081 pour un autre élément.

Je sais que c’est une très vieille question qui n’a pas encore de réponse.

Et j’ai la même question quand j’ai besoin de convertir un ancien projet utilisant tomcat externe en tomcat intégré en utilisant tomcat7-maven-plugin.

Et ce dont j’ai besoin, c’est de construire un bocal exécutable. Mais la réponse existante ne peut pas fonctionner pour moi … peu importe ce que je lance java -jar project-name.jar après le mvn package . il tourne toujours sur le port 8080 ce qui n’est pas ce que je voulais … Puis je cherche la doc Executable War et ce que j’ai corrigé est juste d’append un param en commande

 java -jar my_project.jar -httpPort 9091 

qui dans doc:

utilisation: java -jar [chemin d’access à votre jar de guerre exec] …

-httpPort port HTTP à utiliser

-httpsPort port https à utiliser …

J’espère que c’est utile.