【发布时间】:2011-07-07 20:29:53
【问题描述】:
我正在尝试将 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 构建中?
感谢我能得到的任何帮助,因为我是 Java 新手。
接受来自 vkraemer 的回答后更新:
有一些为生产软件构建脚本的最佳实践:
- 将构建所需的所有内容放在一个目录树下。 (Netbeans = 失败)
- 将所有内容置于源代码控制中。 (我做到了)
- 构建脚本的第一行应该清除所有环境变量。
- 构建脚本的下一部分应将所有环境变量显式设置为已知有效的值。
- 构建的下一部分应该能够使用命令行程序(例如 javac、ant、cc 等)执行,并且不能依赖于启动 IDE,例如 Eclipse 或 Netbeans。
遗憾的是,Netbeans 让这变得困难。
【问题讨论】:
-
是什么样的 NetBeans 项目? Web 应用程序、Java 应用程序等...