当我在Netbeans中创建一个新项目时,它会生成一个build.xml文件,用于编译和运行项目,以及文件夹nbproject中的其他内容。
现在,我想拥有自己的build.xml文件,我将用它来编译到服务器端的项目。 Some guys尝试在Netbeans和纯Ant中使用生成的构建文件,但它比它的价值更麻烦。
我想将自动生成的文件重命名为nb-build.xml
并拥有我自己的Netbeans不会触及的build.xml文件。
我如何实现这一目标?
答案 0 :(得分:11)
进入项目目录中的nbproject
目录,然后编辑文件project.properties
。查找看起来像这样的部分:
# Only compile against the classpath explicitly listed here:
build.sysclasspath=ignore
build.test.classes.dir=${build.dir}/test/classes
build.test.results.dir=${build.dir}/test/results
并添加以下行:
buildfile=nb-build.xml
当您下次在NetBeans中打开项目时,它将创建一个具有此名称的新文件,并开始忽略现有的build.xml文件。
答案 1 :(得分:3)
我们用这种方式解决了这个问题。假设您自己的Ant构建脚本名为“myBuild.xml”,并且与build.xml位于同一文件夹中 - 打开build.xml文件并将其内容替换为:
<?xml version="1.0" encoding="UTF-8"?>
<project name="payroll_web_ice_jq" default="default" basedir=".">
<condition property="import.path" value="myBuild.xml">
<not><isset property="netbeans.user"/></not>
</condition>
<condition property="import.path" value="nbproject/build-impl.xml">
<isset property="netbeans.user"/>
</condition>
<!-- conditional import. If triggered from NetBeans, use old build script
if triggered from shell, user new build script -->
<import file="${import.path}" />
</project>
正如您所看到的,我们检查是否存在“netbeans.user”属性,该属性只应存在于Netbeans中,而不应存在于命令行中。这对我们有用。
答案 2 :(得分:1)
创建项目时,可以选择带有现有源的Java项目或带有现有源的 Web项目。我相信这会尊重任何现有的build.xml文件并创建一个辅助构建文件。
在创建项目以使用现有构建脚本时还有一个选项,但我相信此选项不会为您生成Netbeans构建脚本,而是仅依赖于所有构建的现有构建脚本。 / p>
答案 3 :(得分:0)
尝试删除build.xml中针对NetBeans生成的build-impl.xml(即<import file="nbproject/build-impl.xml"/>
)的import语句,并将其替换为导入nb-build.xml(例如<import file="nb-build.xml"/>
)
答案 4 :(得分:0)