使用maven连接到本地项目

时间:2011-06-30 14:56:25

标签: java maven

我在eclipse中有两个项目:

  1. 框架:在多个项目中使用的通用库。
  2. 客户端:使用framework
  3. 的项目

    client非常大,此时可能大于framework。我使用client作为framework的测试夹具。我想在framework中进行一些更改,并在client中对其进行测试。目前,我必须完整构建framework,将其安装到maven仓库中,然后重建client

    有没有办法让client直接指向本地磁盘上的framework?在这种情况下发展的任何其他提示(即更好的方式)?

3 个答案:

答案 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,则可能需要调整项目设置,但它不会这样做。