2014-11-05 67 views
0

我正在使用Maven构建一个Java项目。由于我需要添加一个尚未在中央Maven存储库(OpenCV)上部署的jar文件,因此我在第一台名为M1的计算机上创建了一个本地存储库,并将外部jar文件lib.jar部署到该存储库中(mvn deploy:deploy-file)。Maven本地库,两台机器和Git:缺失神器

在项目pom.xml文件添加以下行:

<repositories> 
    <repository> 
    <id>in-project</id> 
    <name>In Project Repo</name> 
    <url>file://${project.basedir}/libs</url> 
    </repository> 
</repositories> 

在机器M1一切都很好。

我用git无论是版本和在两台不同的机器,M1M2(我不认为这是相关的,但M1有OS X和M2具有Linux)的同步两种开发环境。

然而,在M2一个git pull后,如果我上M2运行Maven,我得到由来自本地回购缺少神器lib.jar错误消息。

M1 has maven 3.2.2,M2 has maven 3.0.4。

有什么办法可以使用git或其他软件来移动本地存储库吗?

谢谢。

+0

顺便说一句,你可能也必须复制opencv_java.so,太! – berak 2014-11-06 10:46:59

+0

它是项目资源之一。 – 2014-11-06 14:34:00

回答

0

解决方案是创建一个远程回购,而不是本地回购:

  • 设置一个Sonatype的Nexus设备或Jfrog Artifactory的实例
  • 上传您的罐子到它
  • 编辑您的settings.xml文件,以反映它

这将允许你运行的任何maven build来检索jar而不管机器。