如何使用 maven 插件 tomcat7:运行多个上下文 (WAR)?
2022-09-02 10:26:33
我已经成功地在Tomcat中一次只运行一个项目,就像这里显示的那样。现在,我希望让多个模块在同一端口下运行,但上下文不同。例如,我希望拥有:mvn tomcat7-maven-plugin:run -am -pl :foo
/ => foo.war
/bar => bar.war
以下是我一直在使用的一个示例 pom.xml片段:
<project><!-- ... -->
<build><!-- ... -->
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.0-SNAPSHOT</version>
<configuration>
<path>/</path>
<port>8080</port>
<addContextWarDependencies>true</addContextWarDependencies>
<addWarDependenciesInClassloader>true</addWarDependenciesInClassloader>
<warSourceDirectory>${project.build.directory}/${project.build.finalName}/</warSourceDirectory>
</configuration>
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>bar</artifactId>
<version>${project.version}</version>
<type>war</type>
<scope>tomcat</scope>
</dependency>
</dependencies>
</plugin>
</plugins>
</pluginManagement>
</build>
<pluginRepositories>
<pluginRepository>
<id>apache.snapshots</id>
<name>Apache Snapshots</name>
<url>http://repository.apache.org/content/groups/snapshots-group/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</project>
插件可以做到这一点吗?我正在努力寻找正确的语法来让它玩得好。当我运行命令来运行它时,它只运行它在项目层次结构中找到的第一个命令。如果我使用或显然从不同的终端运行它们,那么我得到“java.net.BindException:地址已经在使用中:8080”。tomcat7-maven-plugin:run
maven
<fork>true</fork>