1

我正在使用 Eclipse Indigo + m2eclipse。

我的工作区中有两个项目,projectA 在其 POM.xml 中声明了对 projectB 的 Maven 依赖项。

我希望能够对 projectB 进行更改,并且不必在此 projectB 上运行“mvn install”,在运行 projectA 时能够看到更改!

我在两个项目上都检查了来自 Workspace 项目的 Properties/Maven/Resolve 依赖项 。它不起作用。我总是必须在 projectB 上执行“mvn install”(并且可能在 projectA 上执行“Maven/Updates Dependencies...”才能看到更改。

我在projectA的POM中对projectB的依赖是:

    <dependency>
        <groupId>com.xxxx</groupId>
        <artifactId>projectB</artifactId>
        <version>0.7-SNAPSHOT</version>
    </dependency>

groupId、artifactId 和 version 与 projectB 的 POM 中的匹配。

我阅读了我在互联网上可以找到的所有内容,但没有成功!

任何想法?

更新:我不知道这些信息是否有帮助,但我的工作区中也有一个projectC,它也依赖于 projectB。并且 projectA 依赖于 projectC :

projectA -> depends on -> projectB
projectC -> depends on -> projectB
projectA -> depends on -> projectC

在 projectA 和 projectC 中都使用了完全相同版本的 projectB 工件。我尝试在 projectA 的 POM 中排除对 projectB 的传递依赖,因此只使用直接依赖:它没有改变任何东西。

4

2 回答 2

1

您需要使用一个多模块项目,其中每个当前项目都成为一个模块。他们都有一个共同的父母。然后你可以从父 POM 调用构建,reactor 将按照需要的顺序构建子模块。这样,您在 ProjectB 中的更改将在 ProjectA 中看到。

这是一个示例
http://www.sonatype.com/books/mvnex-book/reference/multimodule.html

于 2012-10-16T17:04:10.120 回答
0

尝试使用“更新项目配置”功能。此外,您可以运行mvn eclipse:eclipse,默认情况下,插件会将您的项目配置为使用子项目引用而不是安装包引用。

于 2012-06-14T00:49:33.613 回答