我试图理解maven多模块项目中的所有依赖项。作为一个起点,我使用appfuse创建一个新的spring mvc多模块项目。它最初有Web和核心模块。
我发现了部署这个项目的知识。但是当我收到错误时。我很困惑总是在哪里添加依赖项或插件。我想澄清以下问题。
我创建了一个appfuse mvc multimodule项目。我maven安装了核心然后maven jetty7:在web上运行(最初我在根文件夹上运行mvn install然后我绑定到mvn tomcat:在同一个文件夹上运行。但它必须按照以下方式完成。
我最初收到错误,例如缺少前缀"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。我想了解一些关于poms如何协同工作进行安装的基础知识。例如,还有父母pom。但我没有在父pom上进行mvn安装或任何操作。我将进入核心并执行mvn install
然后转到网络并执行mvn tomcat7:run
在这种情况下,父pom如何为安装和破坏过程做出贡献?以及如何解决上述警告并解决错误。
非常感谢一些信息丰富的答案。谢谢
答案 0 :(得分:1)
您应该将Tomcat插件添加到Web项目中,因为它只能在类型为“war”的项目中工作。应该已经配置了一个jetty插件,因此“mvn jetty:run”应该可以从web文件夹中运行。