我有一个java应用程序。
我可以运行Maven Release任务,这将为我做一些好事:
我想更进一步。我有一些后期构建步骤,我目前正在手动执行。
最终,我将完成利用包目录构建安装程序的额外任务。
我不知道maven或ant是正确的工具,用于自动执行剩余的6个任务,但看起来它们中的一个或两者的组合可能完成我需要的任务。
我可能会编写一个批处理文件或一个简单的perl脚本来快速完成这些操作,而不是弄清楚如何执行这些操作,但我希望尽可能保持标准,以便我不承担额外的责任不断支持发布过程的黑客攻击。
在我看来,这些任务可能不是构建/发布的标准部分,但通常可以看到应该有最好/最常见的实践来完成它们。
答案 0 :(得分:1)
如果我是你,我会尝试以下各项的组合:
答案 1 :(得分:1)
我建议你在构建过程中使用maven-assembly-plugin以及maven-launch4j-plugin。
使用适当的版本
更新launch4j配置xml文件将占位符放入配置xml中,让maven在替换期间替换它 构建。
使用launch4j
将生成的jar包装在可执行文件中使用launch4j-maven-plugin创建可执行文件。
将生成的EXE复制到包目录
中我建议将生成的工件放入存储库管理器中 一个单独的文件夹,导致在Maven中存储所有工件 存储库。可能需要设置自己的存储库管理器 (Artifactory,Nexus,Archiva)。
将多个支持文件复制到包目录
将它们用作资源(src/main/resources
)将被复制
自动。
将包目录拉上
使用maven-assembly-plugin创建生成的zip文件。
将包裹通过电子邮件发送给我的测试人员。
您可以使用Jenkins等CI发送最终邮件或 您可以查看可能是解决方案的maven-changes-plugin。
这意味着Maven在正常构建期间可以处理您提到的所有步骤。这意味着最终你可以使用maven-release-plugin来生成一个包含所有上述步骤的完整版本,并生成所有希望的工件。