我在eclipse中有两个项目:
framework
。 client
非常大,此时可能大于framework
。我使用client
作为framework
的测试夹具。我想在framework
中进行一些更改,并在client
中对其进行测试。目前,我必须完整构建framework
,将其安装到maven仓库中,然后重建client
。
有没有办法让client
直接指向本地磁盘上的framework
?在这种情况下发展的任何其他提示(即更好的方式)?
答案 0 :(得分:24)
在Framework上运行mvn install
将构建它并将其安装在本地Maven存储库(即本地磁盘上的Maven存储库)中。在Client中运行测试时,Maven将自动在本地存储库中使用Framework版本。
答案 1 :(得分:8)
您可以使用< systemPath>指定本地磁盘的依赖关系。像这样:
<dependency>
<groupId>example.logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.0.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/commons-logging.jar</systemPath>
</dependency>
我不确定你是否可以指向一个包含pom的目录,但至少你不必将它部署到maven中。
答案 2 :(得分:4)
m2eclipse插件对Maven依赖项非常聪明。如果您将framework
依赖项作为Eclipse中的单独项目打开,我认为它应该使用client
的代码而不是存储库中的版本。如果您已经使用m2eclipse,则可能需要调整项目设置,但它不会这样做。