我需要在 Linux 机器上设置定期拉取和构建 native Netbeans 项目,但我不想在 Netbeans GUI 中打开该项目以使生成的文件保持最新。
native Netbeans 项目中至少可以有一个文件,该文件在不同的计算机上应该有所不同:nbproject/private/private.properties
。以下是为 Glassfish 构建的 Web 应用程序的示例:
deploy.ant.properties.file=/home/admin/.netbeans/8.2/config/GlassFishEE6/Properties/gfv3-155092097.properties
j2ee.platform.is.jsr109=true
j2ee.server.domain=/opt/glassfish-4.1.2/glassfish4/glassfish/domains/domain1
j2ee.server.home=/opt/glassfish-4.1.2/glassfish4/glassfish
j2ee.server.instance=[/opt/glassfish-4.1.2/glassfish4/glassfish:/opt/glassfish-4.1.2/glassfish4/glassfish/domains/domain1]deployer:gfv3ee6wc:localhost:4848
j2ee.server.middleware=/opt/glassfish-4.1.2/glassfish4
user.properties.file=/home/admin/.netbeans/8.2/build.properties
它不受版本控制,但没有它 Ant
无法构建使用在 Netbeans 中注册的 Glassfish 服务器的项目:
[admin@funktest v24testear]$ ant -quiet clean dist
BUILD SUCCESSFUL
Total time: 16 seconds
[admin@funktest v24testear]$ rm -f nbproject/private/private.properties
[admin@funktest v24testear]$ ant -quiet clean dist
BUILD FAILED
/home/admin/Downloads/v24test/v24testear/nbproject/build-impl.xml:156: The libs.CopyLibs.classpath property is not set up.
还有从 project.xml
派生的 build-impl.xml
,我也想重新生成它。
最佳答案
解决此问题的方法是在项目中包含并引用所需的库。例如:
- 找到 JAR 文件
org-netbeans-modules-java-j2seproject-copylibstask.jar
,该文件通常位于装有 NetBeans 的计算机上的C:\Program Files\NetBeans 8.2\java\ant\extra
等位置。 - 将该 JAR 复制到您的项目中,f.x。
project/ant/org-netbeans-modules-java-j2seproject-copylibstask.jar
。 打开
nbproject/project.properties
并在其末尾添加以下行:libs.CopyLibs.classpath=ant/org-netbeans-modules-java-j2seproject-copylibstask.jar
通过项目中的 lib 和指向其位置的 project.properties,Ant 应该能够在不安装实际 NetBeans 的情况下进行构建。
关于java - Netbeans 从命令行更新生成的项目文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52648608/