我正在使用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中,因此只使用了直接依赖:它没有改变任何东西。
答案 0 :(得分:1)
您需要使用多模块项目,其中每个当前项目都成为模块。他们都会有一个共同的父母。然后,您可以从父POM调用构建,并且reactor将按所需顺序构建子模块。这样,您在ProjectA中的更改将在ProjectA中看到。
这是一个例子 http://www.sonatype.com/books/mvnex-book/reference/multimodule.html
答案 1 :(得分:0)
尝试使用“更新项目配置”功能。此外,您可以运行mvn eclipse:eclipse
,默认情况下,插件会将项目配置为使用子项目引用而不是已安装的包引用。