繁体   English   中英

Java Build; 满足这些要求,什么是不错的选择?

[英]Java Build; with these requirements, what would be a good choice?

这与构建Java项目有关。

所以我对这里的选择有些困惑。

我的要求(这是一个小项目):

  • 需要使用特定/自定义编译器参数来编译Java项目

  • 项目具有需要包含的本机库

  • 需要通过Rhino javascript编译器(https://developer.mozilla.org/en/Rhino/JavaScript_Compiler)编译javascript-> java类

  • 构建后,我需要运行另一个命令:ProGuard(http://proguard.sourceforge.net/)

  • 运行javadocs

  • 将所有内容打包到Jar中(还包括外部数据,例如图像,xml,ini等)

  • 生成/创建一个.jnlp网络启动。

  • 在Win和Linux下都可用是最佳选择。

  • 这是一个业余项目,所以不想花数周的时间来学习/管理构建系统。 最多只需要8到12个小时就可以完成投资(否则最好继续手工做所有事情)。

  • 顺便说一句,如果重要的话,我的IDE是Eclipse; 一个不错的集成插件会不错-但不是必需的。

到目前为止,我认为Ant和Maven是使用中的两个主要构建系统。 我不清楚我应该使用哪一个,或者它们之间有何不同?

另一个选项是在Linux(或可能是cygwin)下的“ make”。 我只使用过一次,但看起来很快就可以开始工作。 对于Java或该项目,这是一个不错的选择吗? 有什么缺点吗? 为什么不更多的Java开发人员使用它?

还有其他选择吗?

简而言之:花12个小时学习和使用Ant。

Maven具有开箱即用的良好感觉,使用整洁的依赖项管理非常容易上手,但是根据需要调整线pom.xml(项目的maven构建文件)以适应您的需求将需要更多的摆弄。比起您使用Ant而言。

要满足您的一些特定要求:

  • 您可以将<compilerarg>元素与<javac>任务一起使用
  • 对于本机库,可以使用以下命令添加它们: <sysproperty>key="java.library.path"
  • 将Rhino与Ant搭配使用(http://stackoverflow.com/questions/3526960/using-recent-rhino-in-ant-script)
  • 蚂蚁有一个Proguard任务(http://proguard.sourceforge.net/index.html#/manual/ant.html)
  • for Javadoc Ant附带了<javadoc>任务
  • <jar> Ant任务非常易于使用,可以打包所有内容
  • [Ant Web Start Task project]中有一个<jw:jnlpwar>任务,网址为(http://ant-jnlp-war.sourceforge.net)
  • Ant无处不在,它适用于几乎所有主要平台(Linux,Unix,Windows,MacOS)
  • 网上有大量的文档和示例,您可以立即使用Ant,而您花在学习它上的那些时间很可能会在将其用于构建时的几周内“收回”自己的钱。
  • Eclipse与现成的Ant集成(http://help.eclipse.org/indigo/index.jsp?topic=/org.eclipse.platform.doc.user/gettingStarted/qs-81_basics.htm)

它可能不会像Maven那样开箱即用地进行依赖管理(尽管您可以将Ant与Ivy集成在一起),但是它无疑为您提供了所需的所有灵活性,而且您不会发现自己“与“构建工具配置文件”相对应,因为它在Maven中相当普遍。

我可能应该只提到Java构建(和CI)工具中的两个新名称: HudsonJenkins 它们是相当新的,可能看起来很有趣,但是我绝对不会在早期阶段将它们推荐给您和您的项目。

注意:缺少实际链接的道歉(仅允许2个链接atm)

Maven是这里的最佳选择,因为它集成了所有这些功能

所以去吧

在这里,快速链接可为您节省额外的时间来学习Maven;)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM