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

4
当我在Netbeans中创建一个新项目时,它会生成一个build.xml文件,用于编译和运行该项目,以及nbproject文件夹中的其他内容。
现在,我想要自己的build.xml文件,用于在服务器端编译项目。一些人尝试过在Netbeans和纯Ant中使用生成的构建文件,但是这样做比它的价值更麻烦。
我想将自动生成的文件重命名为nb-build.xml,并拥有自己的build.xml文件,Netbeans不会触及它。
我该如何实现?
5个回答

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文件。


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中而不是命令行中。这对我们很有效。


1

创建项目时,您可以选择选项具有现有源代码的Java项目具有现有源代码的Web项目。这将尊重任何现有的build.xml文件并创建一个辅助构建文件。

创建项目时还有一种选项是使用现有的构建脚本,但我认为此选项不会为您生成Netbeans构建脚本,而是完全依赖于所有构建的现有构建脚本。



0

尝试在build.xml中删除import语句,该语句针对NetBeans生成的build-impl.xml(即<import file="nbproject/build-impl.xml"/>),并使用你自己的nb-build.xml进行导入(例如<import file="nb-build.xml"/>)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接