推送 project.properties 问题
Posted
技术标签:
【中文标题】推送 project.properties 问题【英文标题】:Pushing project.properties problems 【发布时间】:2019-08-31 01:55:28 【问题描述】:当我尝试在 Java 项目中与组合作时,我们总是需要修复库,因为它使用最后一个用户的目录结构(例如,person1 的库位于 c:/documents 中,而 person2 的库位于在 c:/downloads 中,person2 将得到一个 library not found 错误,因为它正在 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
我的猜测是第一个文件引用导致了问题,但我不知道如何解决这个问题。
【问题讨论】:
【参考方案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/
【讨论】:
以上是关于推送 project.properties 问题的主要内容,如果未能解决你的问题,请参考以下文章
如何使用或设置 sonar-project.properties 文件?
如何声明对cordova project.properties 文件的依赖关系?
不允许 Sonarqube.project.properties 文件