使用Subversion时解决Netbeans Library冲突

时间:2012-03-07 16:02:04

标签: java svn version-control netbeans project-management

我在Subversion(svn)下有一个Netbeans Java项目。这与另一个从事该项目的人分享。

项目需要一个外部库,我们将其作为jar文件。现在,当我们中的任何一个进行更改并提交时,项目的库依赖关系会失败,因为我们有不同的库路径(因为我们在不同的机器上工作jar文件的位置不同)。

这意味着每次更新我的存储库时,我都必须解决库依赖关系。

我有办法阻止这种情况吗?

2 个答案:

答案 0 :(得分:2)

第一种方式:您可以使用NetBeans Library支持。

使用jar转到Tools-> Libraries和new Library。在两台机器上以相同的方式命名,并将您的NB项目包含在库中,而不是直接指向jar的路径。

第二种方式:使用相对路径。

同意让jar位于../lib/foo.jar并在NB项目中使用此路径

第三种方式:使用属性文件。

添加名为的文件,例如build.properties,但不要将其提交给svn。因此,你们两个都将拥有该文件的不同本地版本。

内容应该是下一个:

myproject.library.foojar=C:/foopath/foo.jar

build.xml中包含此文件:

   <property file="../build.properties"/>

nbproject/project.properties找到对jar的引用 - 它将如下所示:

file.reference.foo.jar=C:/foopath/foo.jar

将其更改为

file.reference.foo.jar=${myproject.library.foojar}

此外,您可能希望将build.properties添加到svn的忽略列表中,以避免提交它。

答案 1 :(得分:2)

我建议您使用Maven来控制库依赖项(jar)。它易于使用,NetBeans有一个模块可以轻松使用它。

Maven将您声明的所有依赖项下载到本地库中,因此您不必担心管理库,Maven会为您执行此操作。 此外,使用此模块,您可以搜索Maven库中的库(包含大量java库),只需输入名称并为其下载maven。

这里有一些关于如何使用Maven和NetBeans的链接: http://platform.netbeans.org/tutorials/nbm-maven-quickstart.html

http://today.java.net/article/2009/10/14/working-maven-netbeans-671