当我尝试在 Java 项目上与小组合作时,我们总是需要修复库,因为它使用最后一个用户的目录结构(例如,person1 的库位于 c:/documents 中,而 person2 的库位于在 c:/downloads 中,person2 将收到一个找不到库的错误,因为它正在 c:/documents 中查找)
我注意到这些对库的引用存储在 nbproject/project.properties 中,我尝试将其添加到 gitignore,但我读到应该从 gitignore 中排除 project.properties。
在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
我的猜测是第一个文件引用导致了问题,但我不知道如何解决这个问题。
最佳答案
您无需从版本控制中排除 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/
关于java - 推送project.properties问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55598455/