Netbeans项目采用脚本化构建

时间:2011-07-07 20:29:53

标签: netbeans ant

我正在尝试将Netbeans 6.9.1项目转换为脚本化版本(没有netbeans)。当然,它失败了(或者我不会寻求帮助)。

失败时它表示org.apache.commons.httpclient包不存在。 (当然,当我们在Netbeans中运行构建时它起作用了)。

现在我确切知道commons-httpclient.jar文件在我的项目结构中的位置,但我似乎无法通过ant构建文件和netbeans属性文件告诉编译器。

也许与此相关的是当我运行“ant -v”来构建我的软件时,它说,

尚未设置属性lib.mystuff.classpath。我想这个变量很重要,因为

文件 nbproject / project.properties 在javac.classpath的定义中使用 lib.mystuff.classpath ,这当然告诉Java编译器在哪里可以找到JAR 。

所以......当将Netbeans项目移动到与netbeans无关的脚本化构建时,构建脚本如何设置这些属性?另外,我如何确保jar文件包含在ant build中?

我感谢任何帮助,因为我是一名Java新手。

接受vkraemer的答复后更新:

生产软件的构建脚本有一些最佳实践:

  1. 将构建所需的所有内容放在单个目录树下。 (Netbeans =失败)
  2. 将所有内容放入源代码控制中。 (我做到了)
  3. 构建脚本的第一行应清除所有环境变量。
  4. 构建脚本的下一部分应明确将所有环境变量设置为已知可用的值。
  5. 构建的下一部分应该能够使用命令行程序(如javac,ant,cc等)执行,并且不能依赖于启动诸如Eclipse或Netbeans之类的IDE。
  6. 令人遗憾的是,Netbeans很难做到这一点。

1 个答案:

答案 0 :(得分:1)

我快速浏览了一下Java Application项目,发现了以下内容......

javac.classpath = $ {libs.MyStuff.classpath}

libs.MyStuff.classpath在%HOME%/。netbeans / 6.9.1 / build.properties中定义。

您可以通过以下方式获得......

ant -Dlibs.MyStuff.classpath = c:\ a \ b \ c.jar

如果在NetBeans中创建的MyStuff库中有多个jar文件,则需要执行更多操作。