如何使用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添加额外的参数true ,即:

   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