如何使Netbeans 6.5使用我的文件nb-build.xml而不是build.xml?

时间:2009-06-16 12:54:27

标签: netbeans ant build

当我在Netbeans中创建一个新项目时,它会生成一个build.xml文件,用于编译和运行项目,以及文件夹nbproject中的其他内容。

现在,我想拥有自己的build.xml文件,我将用它来编译到服务器端的项目。 Some guys尝试在Netbeans和纯Ant中使用生成的构建文件,但它比它的价值更麻烦。

我想将自动生成的文件重命名为nb-build.xml并拥有我自己的Netbeans不会触及的build.xml文件。

我如何实现这一目标?

5 个答案:

答案 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)