当我尝试与Java项目中的组一起工作时,我们总是需要修复库,因为它使用了最后一个用户的目录结构(例如,person1的库位于c:/ documents中,而person2的库位于在c:/ downloads中,person2将在c:/ documents中查找到未找到的库错误。
我注意到那些对库的引用存储在nbproject / project.properties中,我尝试将其添加到gitignore中,但是我已经读到project.properties应该从gitignore中排除。
在project.properties文件中显示此内容
file.reference.byte-buddy-1.8.15.jar-1=C:\\Users\\Cedric\\Desktop\\byte-buddy-1.8.15.jar
file.reference.byte-buddy-agent-1.8.15.jar-1=C:\\Users\\Cedric\\Desktop\\byte-buddy-agent-1.8.15.jar
file.reference.eclipselink.jar-1=C:\\Users\\Cedric\\Desktop\\eclipselink.jar
file.reference.javax.annotation_1.2.0.v201602091430.jar-1=C:\\Users\\Cedric\\Desktop\\javax.annotation_1.2.0.v201602091430.jar
file.reference.javax.persistence.jar-1=C:\\Users\\Cedric\\Desktop\\javax.persistence.jar
file.reference.jfoenix-9.0.8.jar-1=C:\\Users\\Cedric\\Desktop\\jfoenix-9.0.8.jar
file.reference.mockito-core-2.21.0.jar-1=C:\\Users\\Cedric\\Desktop\\mockito-core-2.21.0.jar
file.reference.objenesis-2.6.jar-1=C:\\Users\\Cedric\\Desktop\\objenesis-2.6.jar
#Mon Apr 08 17:43:30 CEST 2019
javadoc.splitindex=true
build.classes.excludes=**/*.java,**/*.form
@@ -58,7 +66,26 @@ javafx.application.implementation.version=1.0
main.class=com.javafx.main.Main
dist.javadoc.dir=${dist.dir}/javadoc
javadoc.additionalparam=
javac.classpath=${file.reference.Downloads-Microsoft_SQL_Server_JDBC_Driver_2.0}\:${file.reference.byte-buddy-1.8.15.jar}\:${file.reference.byte-buddy-agent-1.8.15.jar}\:${file.reference.eclipselink.jar}\:${file.reference.javax.annotation_1.2.0.v201602091430.jar}\:${file.reference.javax.persistence.jar}\:${file.reference.mockito-core-2.21.0.jar}\:${file.reference.objenesis-2.6.jar}\:${libs.eclipselink.classpath}\:${file.reference.jfoenix-9.0.8.jar}\:${libs.junit_4.classpath}
javac.classpath=\
${file.reference.Downloads-Microsoft_SQL_Server_JDBC_Driver_2.0}:\
${file.reference.byte-buddy-1.8.15.jar}:\
${file.reference.byte-buddy-agent-1.8.15.jar}:\
${file.reference.eclipselink.jar}:\
${file.reference.javax.annotation_1.2.0.v201602091430.jar}:\
${file.reference.javax.persistence.jar}:\
${file.reference.mockito-core-2.21.0.jar}:\
${file.reference.objenesis-2.6.jar}:\
${libs.eclipselink.classpath}:\
${file.reference.jfoenix-9.0.8.jar}:\
${libs.junit_4.classpath}:\
${file.reference.byte-buddy-1.8.15.jar-1}:\
${file.reference.byte-buddy-agent-1.8.15.jar-1}:\
${file.reference.eclipselink.jar-1}:\
${file.reference.javax.annotation_1.2.0.v201602091430.jar-1}:\
${file.reference.javax.persistence.jar-1}:\
${file.reference.jfoenix-9.0.8.jar-1}:\
${file.reference.mockito-core-2.21.0.jar-1}:\
${file.reference.objenesis-2.6.jar-1}
compile.on.save.unsupported.javafx=true
javadoc.noindex=false
javafx.deploy.backgroundupdate=false
我猜是第一个文件引用导致了此问题,但我不知道如何解决此问题。
答案 0 :(得分:1)
您不需要从版本控制中排除project.properties
文件。只需更改将库添加到项目中的方式即可。
如前所述,您和您的队友正在为库维护单独的文件夹。不要那样做。在项目内创建一个lib
文件夹,然后将所有(当前)必需的库放入该文件夹中。例如,您的项目文件夹结构应如下所示,
your-project-root-folder
|-- build
|-- dist
|-- nbproject
|-- lib <====== the folder which contains all required libraries
|-- src
|-- test
|-- web
|-- build.xml
|-- .gitignore
现在在Netbeans中,您需要选择lib
文件夹作为源库目录。请按照以下说明进行操作
然后浏览到保存 Project 文件夹的路径,然后从lib
文件夹中选择所需的库,如下所示
假设您的项目路径为C:/users/user/Documents/NetbeansProjects/your-project-root-folder
从那里选择lib
并确保您已选中右侧的相对路径单选按钮。
现在,这会将部分(相对)路径添加到project.properties
文件中。以这种方式添加库后,您不再需要担心将库文件夹从C:/Documents
切换到C:/Downloads
,反之亦然。
据我所知,我们从版本控制中排除了build
,dist
和nbproject/private/
目录。由于这些文件夹/文件在每次构建项目时都会不断重新生成。
供您参考,这就是我如何在版本控制中维护Netbeans项目的方法。我的.gitignore
文件如下所示
/build
/dist
/nbproject/private/