我在Subversion(svn)下有一个Netbeans Java项目。这与另一个从事该项目的人分享。
项目需要一个外部库,我们将其作为jar文件。现在,当我们中的任何一个进行更改并提交时,项目的库依赖关系会失败,因为我们有不同的库路径(因为我们在不同的机器上工作jar
文件的位置不同)。
这意味着每次更新我的存储库时,我都必须解决库依赖关系。
我有办法阻止这种情况吗?
答案 0 :(得分:2)
使用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