Maven 我应该如何管理生成后任务?
我有一个java应用程序 我可以运行Maven发布任务,这将为我带来一些好处:Maven 我应该如何管理生成后任务?,maven,ant,build-process,release-management,launch4j,Maven,Ant,Build Process,Release Management,Launch4j,我有一个java应用程序 我可以运行Maven发布任务,这将为我带来一些好处: 将版本号从1.0.0-SNAPSHOT更改为1.0.0 将我的pom中的版本号增加到1.0.1-SNAPSHOT 在源代码管理中标记发布 将生成的包上载到my maven存储库 我想更进一步。我有一些构建后的步骤,我目前正在手动执行 使用适当的版本更新launch4j配置xml文件 使用launch4j将生成的jar包装在可执行文件中 将生成的EXE复制到包目录中 将多个支持文件复制到包目录中 压缩包目录 将软件
- 将版本号从1.0.0-SNAPSHOT更改为1.0.0
- 将我的pom中的版本号增加到1.0.1-SNAPSHOT
- 在源代码管理中标记发布
- 将生成的包上载到my maven存储库
在我看来,这些任务可能不是构建/发布的标准部分,但已经足够普遍,因此应该有一个最佳/最常见的实践来完成它们。如果我是你,我会尝试以下组合:
- ,除非它对于SCM相关流程不够灵活。如果使用SVN作为SCM,我会直接使用SVNKit(在自定义Maven插件中),如果灵活性是一个问题的话
- 和/或用于剩余任务的一个或多个内部Maven插件
src/main/resources
)将复制它们
自动地这意味着您提到的所有步骤都可以由Maven在通常的构建过程中处理。这意味着您最终可以使用maven release插件生成一个完整版本,其中包含上述所有步骤并生成所有所需的工件。我最终使用maven copy插件进行复制并创建了一个zip文件。文件非常清楚。我正在努力让詹金斯正常工作。launch4jmaven插件几乎和将我的launch4jxml文件复制到pom中一样简单。在某些地方,对${project.version}进行一些必要的修改以清除并将其用作变量,效果很好。此外,我还使用shade插件为launch4j构建了jar。需要注意的是,在同一阶段运行的插件按照它们在pom中声明的顺序进行处理。