我已经浏览了堆栈溢出和其他论坛,但似乎没有人问过这个具体问题。我从一个POM文件运行多个子WAR包。要运行它们,我使用mvn tomcat7:run
。如果我第一次运行mvn install
,此命令可以正常工作,但我希望能够使用mvn package
。在通过插件运行之前,没有必要在本地存储库中安装我自己的Web应用程序,对吗?
我的项目结构如下:
parent
├─ subProject1
└─ subProject2
父项目仅包含一个POM.xml文件,其中包含以下插件数据和模块数据:
<modules>
<module>subProject1</module>
<module>subProject2</module>
</modules>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<webapps>
<webapp>
<groupId>group.id.of.project</groupId>
<artifactId>subProject1</artifactId>
<version>${project.version}</version>
<contextPath>/subProject1</contextPath>
<type>war</type>
<asWebapp>true</asWebapp>
</webapp>
<webapp>
<groupId>group.id.of.project</groupId>
<artifactId>web</artifactId>
<version>${project.version}</version>
<contextPath>/subProject2</contextPath>
<type>war</type>
<asWebapp>true</asWebapp>
</webapp>
</webapps>
<tomcatUsers>${basedir}/tomcat-users.xml</tomcatUsers>
</configuration>
</plugin>
</plugins>
</build>
每个子项目都有自己的pom,根本没有引用tomcat插件。这可能是问题的一部分吗?或者是否有某种方法可以指定文件夹以查找不会影响全局插件属性但只影响特定构建的属性的插件?
我运行mvn tomcat7:run
时遇到的具体错误是:
Failed to execute goal org.apache.tomcat.maven:tomcat7-maven-plugin:2.2:run (default-cli) on project parent: Unable to find artifact. Could not find artifact group.id.of.project:subProject1:war:0.0.1-SNAPSHOT
有什么想法吗?