我正在寻找一种用于构建大型Java程序的“make”工具。我已经知道了ANT,但想看看还有哪些可用的选项。
理想情况下,它应该能够处理.GNU Make难以处理的.java->.class软件包目录混乱问题。
Win32系统,但跨平台是一个加分项。
编辑: 我发现使用ANT存在一些缺点,这就是为什么我想看看其他选择的原因,不过我可能最终还是会使用它,因为它可行。
- 需要复杂的XML makefile文件,“HelloWorld”文件已经有25行了,而任何更合理的程序很快就变得很大。
- ant教程显示了ant build.xml文件与只运行所有java命令的大型.bat文件几乎相同,只不过更长。 http://ant.apache.org/manual/tutorial-HelloWorldWithAnt.html,我已经有了其中之一。
- Xml意味着每个依赖项、变量、目标、规则和项目都有额外的废话,它只是让代码难以阅读。The Angle Bracket Tax
- 它解决了我所有的问题。
- ant使编写jar和javac命令行更容易,生成清单更容易,指定.java源文件更容易,指定jvm/java属性更容易,编写自定义构建工具更容易。
- Ant并不能使Java类依赖关系更容易,并且似乎没有更强大的变量系统,这两个问题通常由make工具解决。
我会使用GNU make,但它无法确定具有软件包声明的.java文件的.class文件将在何处结束。