1

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

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

我创建了一个 appfuse mvc 多模块项目。我安装了核心,然后在 web 上安装了 maven jetty7:run(最初我在根文件夹上运行 mvn install,然后在同一个文件夹上绑定到 mvn tomcat:run。但它必须按如下方式完成。

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

我最初收到一个错误,例如缺少前缀"Tomcat7"。我通过将以下插件添加到pomin来解决它web

       <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.0</version>
        </plugin>

并且该错误已解决。但我不确定,因为我可以将插件添加到父 pom.xml 中。然后我再次运行 mvn tomcat7:run on web file,现在我收到以下错误。

[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.xml 中。我想知道一些关于 pom 如何协同工作进行安装的基础知识。例如,还有一个父 pom。但我没有在父 pom 上执行 mvn install 或任何操作。我要去核心做一个mvn install然后去网络做一个mvn tomcat7:run

在这种情况下,父 pom 对安装和破坏过程有何贡献?以及我应该如何解决上述警告并解决错误。

非常感谢一些内容丰富的答案。谢谢

4

1 回答 1

1

您应该将 Tomcat 插件添加到 Web 项目中,因为它仅适用于类型为“war”的项目。应该已经配置了一个码头插件,因此“mvn jetty:run”应该可以从 web 文件夹中工作。

于 2014-02-27T22:33:57.853 回答