Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何设置一个好的java构建环境?_Java_Ant_Build_Proguard - Fatal编程技术网

如何设置一个好的java构建环境?

如何设置一个好的java构建环境?,java,ant,build,proguard,Java,Ant,Build,Proguard,Java/Eclipse。开发工作进展顺利。我们有Windows或FreeBSD用于构建服务器 要部署,我希望(以非常自动化的方式)执行以下操作: 1:从源代码管理(perforce)中删除所有内容 2:使用可配置的javac和参数构建所有源代码(和所有依赖项项目)(我们想看看不同的编译器是否会影响性能) 3:运行proguard 4:将所有资源(.class,“res/”目录、external.jars等)打包到一个jar中 5:创建一个.jnlp web start 6:创建本机window

Java/Eclipse。开发工作进展顺利。我们有Windows或FreeBSD用于构建服务器

要部署,我希望(以非常自动化的方式)执行以下操作:

1:从源代码管理(perforce)中删除所有内容

2:使用可配置的javac和参数构建所有源代码(和所有依赖项项目)(我们想看看不同的编译器是否会影响性能)

3:运行proguard

4:将所有资源(.class,“res/”目录、external.jars等)打包到一个jar中

5:创建一个.jnlp web start

6:创建本机windows安装程序(有什么建议吗?)

7) 对于我们的android应用程序,4/5应该构建/登录到可部署的android软件包中


我们试过ant,但看起来很笨重,而且容易出错。也许最好的方法就是把它全部写下来?似乎应该有一个很好的方法来做这件事。

< P>如果你熟悉Groovy,你可以考虑Gant…Ant的所有功能与Groovy的编码灵活性相结合。

我们在构建过程中使用maven,而Hudson则是为我们构建的连续集成服务器。为了制作Windows安装程序,我们使用NSIS,它有一个Maven插件,甚至可以在linux机器上构建安装程序(您必须为构建器iirc重新编译一些库)

至于Android,从来没有这样做过——所以不确定Maven是否有合适的帮助。但是,如果需要,您可以随时将Ant嵌入其中(使用Maven的Ant插件)


简言之,与所有这些系统一样,有一些初始设置,但即使是小规模的项目,它通常也是值得的,因为它很快就会得到回报。

我建议您重新考虑Ant。如果有某些任务很棘手,您可以使用exec任务启动shell,也可以用Java编写自己的ant任务。这仍然允许您使用Ant来协调整个构建。您可以通过定义宏来减少剪切和粘贴爆炸,从而使Ant不那么容易出错

有很多不错的特性,但是在项目开始时设置起来更容易。将现有项目转换为使用Maven需要大量工作。您可以通过与Ant一起使用来获得Maven的依赖关系管理。

请考虑。它不是免费的,但它是持续集成的好工具。

我们评估了一会儿。它是集成各种构建发布任务的强大工具

然后我们切换到Hudson,它运行了ant脚本和schell脚本。让hudson就位通常对运行其他任务很有用——比如运行代码检查工具、创建VM实例、部署新创建的安装程序、启动测试等

InstallAnywhere允许您为java应用程序创建本机安装程序。但不是免费的