我试图理解maven多个模块项目中的所有依赖关系。作为一个起点,我使用appfuse创建了一个新的spring mvc多模块项目。它最初有web和核心模块。

我找到了部署这个项目的知识。但是当我得到一个错误。我对总是在哪里添加依赖项或插件感到困惑。我想澄清以下问题。

我创建了一个appfuse mvc multimodule项目。我maven安装了核心,然后maven jetty7:在web上运行(最初我在根文件夹上运行mvn install,然后我绑定到mvn tomcat:在同一文件夹上运行。但它必须如下所示。

  • mvn安装在核心文件夹上
  • mvn tomcat7:在web文件夹上运行

我最初得到一个错误,如缺少前缀 "Tomcat7".我通过将以下插件添加到 pomweb.

       <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文件夹中工作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top