Eclipse + m2eclipse:一个项目取决于另一个项目,而不必运行“mvn install”

时间:2012-06-13 23:11:02

标签: eclipse maven m2eclipse m2e

我正在使用Eclipse Indigo + m2eclipse。

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

我希望能够对projectB进行更改,而无需运行" mvn install"在这个projectB上,当我运行projectA时能够看到变化!

我在两个项目上都有来自Workspace项目的 Properties / Maven / Resolve依赖项 已检查。它不起作用。我总是要做一个" mvn install"在projectB上(可能是" Maven / Updates Dependencies ..."在projectA上可以看到更改。

我对项目A的POM的依赖是:

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

groupId,artifactId和version与projectB&#39的POM中的匹配。

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

有什么想法吗?

更新:我不知道这些信息是否有帮助,但我的工作区中还有 projectC ,这也取决于projectB。而projectA依赖于projectC:

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

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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