编写Maven插件的提示

最近,我花了很多时间来编写或为Maven开发插件。 它们简单,有趣且有趣。
我以为我会分享一些技巧,使他们在编写时变得更轻松。

提示1:将任务与Mojo分开

最初,您将把mojo的所有代码放入mojo的类(即,扩展AbstractMojo的类)中。 而是考虑将任务分离出来,并为mojo提供最少的填充代码。 这将:

  • 使单元测试更加容易。
  • 意味着您可以轻松地与其他工具集成,例如Ant。
  • 使在mojo中转换简单数据类型变得更加容易,从而为您的任务转换更复杂的类型(例如,将字符串转换为文件)。
  • 将异常翻译与任务分开。

技巧2:考虑将配置外部化

通常,您可以使用POM中的元素配置插件。 对于简单的情况,这很好。 当您有大量的配置项目集或可能有多个配置文件的地方时,这将导致冗长且难以理解的POM。 您可以按照组装插件的示例进行操作,并具有一个用于放置config的标准化目录,例如src / main / myplugin / config-profile-1.xml。

提示3:将Mojo与相匹配

考虑一下您可能希望mojo进入哪个阶段。如果它正在做的事情应该拆分为跨阶段,则将mojo拆分并绑定到适当的阶段。 这将使测试和维护变得更加容易。

提示4:不要重复耗时的工作

您的mojo将在相同源代码和配置的较小变体上多次运行。 每次执行时,它都会做很多密集的工作吗? 我使用的Mojo每次运行文件时都将其解压缩,方法是将邮政编码更改为仅通过检查文件修改时间来刷新文件,该任务从一分钟的执行时间缩短到不到10秒。

提示5:计划测试

最初,您可能正在编写mojo并在要使用它的第一个项目上进行手动测试。 这将是一个漫长的测试周期,并导致不可靠的mojo。 将任务与mojo分开可以使测试任务变得容易,但是您需要对mojo进行一些烟雾测试。 用户往往很难注意到mojo中的错误,因为人们倾向于认为大多数mojo经过了良好的测试和可靠。

技巧6:考虑如何为Mojo提供文档和帮助

IDE和Maven在这里可能无济于事。 该配置项是什么意思? 我可以看个例子吗? 解决方案是提供一个“帮助” mojo和一个可选的Maven站点。 例如,如果您执行“ mvn assembly:help”或“ mvn surefire:help -Ddetail = true -Dgoal = test”,则会看到帮助。

参考:来自我们的JCG合作伙伴 Alex Collins的Java,* NIX,测试,性能,电子游戏技术等博客的编写Maven插件的提示

翻译自: https://www.javacodegeeks.com/2012/12/tips-for-writing-maven-plugins.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值