我需要在Linux机器上设置本地Netbeans项目的定期拉动和构建,并且我不想在Netbeans GUI中打开该项目以使生成的文件保持最新。
本机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.
还有build-impl.xml
源自project.xml
,我也想重新生成它。
答案 0 :(得分:0)
一种解决方法是在项目中包含并引用所需的lib。例如:
org-netbeans-modules-java-j2seproject-copylibstask.jar
,该文件通常位于具有NetBeans的计算机上的C:\Program Files\NetBeans 8.2\java\ant\extra
之类的位置。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的情况下进行构建。