MAVEN多模块项目中添加依赖的位置
-
23-12-2019 - |
题
我试图理解maven多个模块项目中的所有依赖关系。作为一个起点,我使用appfuse创建了一个新的spring mvc多模块项目。它最初有web和核心模块。
我找到了部署这个项目的知识。但是当我得到一个错误。我对总是在哪里添加依赖项或插件感到困惑。我想澄清以下问题。
我创建了一个appfuse mvc multimodule项目。我maven安装了核心,然后maven jetty7:在web上运行(最初我在根文件夹上运行mvn install,然后我绑定到mvn tomcat:在同一文件夹上运行。但它必须如下所示。
- mvn安装在核心文件夹上
- mvn tomcat7:在web文件夹上运行
我最初得到一个错误,如缺少前缀 "Tomcat7"
.我通过将以下插件添加到 pom
在 web
.
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.0</version>
</plugin>
这个错误得到了解决。但我不确定这一点,因为我可以将插件添加到父pom。然后我再次运行mvn tomcat7:在web文件上运行,现在我收到以下错误。
[INFO] >>> tomcat7-maven-plugin:2.0:run (default-cli) @ test-web >>>
[WARNING] The POM for org.aspectj:aspectjweaver:jar:1.8.0.M1 is missing, no depe
ndency information available
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
我不确定在哪里添加pom的依赖项。我想知道pom如何协同工作来完成安装的一些基础知识。例如,还有一个父pom。但我没有在父pom上做mvn安装或任何事情。我要去核心做一个 mvn install
然后去网上做一个 mvn tomcat7:run
我这种情况下,父pom如何有助于安装和破坏过程?以及我应该如何解决上述警告并解决错误。
一些翔实的答案是非常赞赏。谢谢
解决方案
您应该将Tomcat插件添加到web项目中,因为它只能在类型为"war"的项目中工作。应该已经配置了一个jetty插件,所以"mvn jetty:run"应该从web文件夹中工作。
不隶属于 StackOverflow