Java 仅使用ant运行NetBeans项目
我有一个用Netbeans构建的示例代码 它有一个build.xml文件,所以我下载了ant并尝试运行它 我收到了以下错误消息:Java 仅使用ant运行NetBeans项目,java,netbeans,ant,sample,Java,Netbeans,Ant,Sample,我有一个用Netbeans构建的示例代码 它有一个build.xml文件,所以我下载了ant并尝试运行它 我收到了以下错误消息: ...... nbproject\build-impl.xml:76: Platform is not correctly set up 就我所见,这是通过“简单地”下载Netbeans并从那里运行示例来修复的,但是。。。我不想安装它来运行10个文件的示例 使用Java运行Netbeans项目是否有解决方法?我必须修改的正确的.properties文件是什么?可以直
...... nbproject\build-impl.xml:76: Platform is not correctly set up
就我所见,这是通过“简单地”下载Netbeans并从那里运行示例来修复的,但是。。。我不想安装它来运行10个文件的示例
使用Java运行Netbeans项目是否有解决方法?我必须修改的正确的.properties文件是什么?可以直接从Java/ANT运行NetBeans生成的项目,但是您可能需要手动设置一些属性和/或向jar文件添加路径 不幸的是,NetBeans倾向于使用自己的JAR文件和引用属性包含taskdef,这些属性仅在
/nbproject/private/private.properties
文件中定义,通常在您首次打开NetBeans项目时设置,或在IDE中编辑项目时修改
如果检查build impl.xml
,应该能够找到属性并导出需要设置的值(操作系统平台),那么:
- 在中创建/设置属性
/nbproject/private.properties
- 将该特性定义添加到
父级
build.xml
- 在调用ant时传入命令行
目标使用
-DPlatform=Foo
ant -Dplatforms.JDK_1.7.home=/opt/jdk
只是想补充一下答案。。。通常,您需要在目标计算机上至少安装并打开一次Netbeans。ANT项目还依赖于USERDIR/.netbeans/.中的一些设置。。。目录6.5+可能会改变这一点
这将配置一些基本设置,并定义到netbeans JAR的类路径。如果自上次在Netbeans中打开项目以来,您的依赖项(即库)或项目是从不同的目录运行的,那么您需要调整private.properties文件中的一些设置,如Mads所述。我刚刚用ant成功构建了Netbeans项目。这些是我必须做的事情:
- 将
/java2/ant复制到一台“无Netbeanless”机器上 - 将nbproject/project.properties复制到ant.properties
- 将ant.properties中的每个${}表达式替换为它的值
- 添加平台。
.home= - 添加libs.CopyLibs.classpath=
/extra/org-netbeans-modules-java-j2seproject-copylibtask.jar - 将其他需要的类路径添加到javac.classpath中(例如ServletAPI.jar的路径)
ant-propertyfile ant.properties
它起作用了,但不能让我快乐。我想找到重用project.properties的方法,或者自动将其转换为“已解决”版本(步骤3)。构建可以自动化。我使用的是Netbeans 6.8,使用Netbeans创建的java项目可以从Netbeans自动生成的构建文件运行,只需在cli上使用ant即可。所有常规目标,如
antcompile
,antrun
,antclean
,等等,都是“正常工作”。(如果有必要的话,我正在使用Fedora13)我刚刚用我的NetBeans 7.0项目完成了这个练习。我所能做的就是从Windows系统上的.netbeans\7.0目录复制build.properties文件,并为我的构建服务器创建一个server.properties文件。这并不是一个很大的扩展,因为每个开发人员的build.properties可能会有所不同,所以服务器需要另一个文件。然后,我创建了一个简单的server-build.xml文件,该文件引用了这个文件,并且只执行init、compile、dist和clean的基本操作。我将这两个文件提交到我的项目目录顶层的CVS存储库中,因为它们不会与其他项目文件冲突,并在需要更新时作为提醒。现在我可以用“ant-fserver build.xml”在我的CI服务器上构建我的项目,一切正常
我的整个init部分看起来是这样的,给了我的服务器路径优先级,但包括了来自NetBeans项目属性的必要信息
<target name="init">
<property file="server.properties"/>
<property file="nbproject/project.properties"/>
</target>
在为嵌套项目定义ant任务时,我还必须执行类似的操作:
<target name="compile">
<ant antfile="${project.MyProj-common}/build.xml" inheritall="false" target="jar">
<property location="${build.dir}" name="dist.ear.dir"/>
<property file="server.properties"/>
<property file="${project.MyProj-common}/nbproject/project.properties"/>
</ant>
...
</target>
...
我必须将j2ee.platform.classpath从project.properties复制到我的server.properties文件中,以确保对j2ee.server.home的引用在我需要时得到解析。我没有料到必须这样做,但否则类路径是错误的,导致构建失败
感谢您提供关于这个问题的信息,因为它帮助我找到了这个解决方案。我刚刚遇到了同样的问题。我希望我能摆脱netbeans,去eclipse和maven,就为了这个 但是要将ant构建的项目从netbeans导出到持续集成服务器(或者也可以导出到任何其他IDE) 技术进展很顺利。以下是总结:
-silent
)nbproject
而且它应该会起作用。你可以为此使用此回购协议 它克服了netbeans包装的ant config的所有奇怪之处,因此您只需要: 汇编:
$ ant.sh compile
要运行:
$ ant.sh run
无论什么(自动完成):
$ant.sh
好的。我知道我必须手动设置
$ ant.sh <tab><tab>