是否有一种简单的方法可以在pom或命令行中为Tomcat指定备用端口.我想在同一台机器上运行几个项目.
我知道这个帖子已经老了但是......
Greg提供的文档链接很有趣:
port: The port to run the Tomcat server on. Type: int Required: No Expression: ${maven.tomcat.port} Default: 8080
表达式是maven用来获取代码中的值的表达式.它可以来自配置文件,也可以来自命令行.
你可以跑
mvn -Dmaven.tomcat.port=8181 tomcat:run-war
使用tomcat-maven-plugin上给出的语法,您可以直接指定端口:
org.codehaus.mojo tomcat-maven-plugin tomcat-development-server 9966
当我有几个小servlet同时运行它们的集成测试阶段时,我遇到了类似的问题,因为那些配置为使用相同的端口而成为一个问题.但是由于build-helper-maven-plugin:reserve-network-port目标,可以获得可用的随机端口号.然后我可以创建一个包含http:// localhost:[port]/[servletname]的URL,该URL 被提供给 Java测试类.
检索随机端口:
org.codehaus.mojo build-helper-maven-plugin 1.7 reserve-network-port reserve-network-port pre-integration-test tomcat.http.port
用端口启动tomcat
org.apache.tomcat.maven tomcat6-maven-plugin .... ${tomcat.http.port} true
将URL提供给由failsafe插件运行的Java集成测试
org.apache.maven.plugins maven-failsafe-plugin 2.12.3 ....http://localhost:${tomcat.http.port}/${project.build.finalName}/
Java代码
public class DownloadAreaIT { private static final String URL = System.getProperty("integration-test.url"); }
以下为我工作:
9090 org.apache.tomcat.maven tomcat7-maven-plugin 2.2 ${maven.tomcat.port}