如何使用maven插件tomcat7:运行多个上下文(WAR)?
我一直在使用mvn tomcat7-maven-plugin:run -am -pl :foo
成功地在Tomcat中一次只运行一个项目, 如此处所示 。 现在我想让多个模块在同一个端口下运行但不同的上下文。 例如,我想:
/ => foo.war /bar => bar.war
这是我一直在使用的示例pom.xml代码段:
org.apache.tomcat.maven tomcat7-maven-plugin 2.0-SNAPSHOT / 8080 true true ${project.build.directory}/${project.build.finalName}/ ${project.groupId} bar ${project.version} war tomcat apache.snapshots Apache Snapshots http://repository.apache.org/content/groups/snapshots-group/ false true
这是可能的tomcat7-maven-plugin:run
插件? 我很难找到正确的语法来让它发挥得很好。 当我运行maven
命令来运行它时,它只运行它在项目层次结构中找到的第一个命令。 如果我使用true
运行它们,或者显然是从不同的终端运行它们,那么我得到“java.net.BindException:Address in in use:8080”。
正如已经建议的那样,使用插件配置的
部分,但为每个webapp添加额外的参数
,即:
com.company mywebapp 1.0 war true com.company mywebapp2 2.0 war true
默认情况下,这些额外的Web应用程序使用${artifactId}
上下文路径进行部署。
看起来没有这个参数,当你运行像mvn tomcat7:run
(在稳定版本2.0上试过)之类的东西时,会无声地丢弃额外的webapps。 相关的Jira问题告诉它是为了“向后兼容性”而完成的。
使用类似的东西
com.company mywebapp 1.0 war