最好的"通用"Maven插件

rip*_*234 36 java plugins maven-2

我们正在转向Maven,我知道有一个不同的插件和扩展的世界.哪些是您推荐用于一般用途的最佳产品?

(请在每个答案的插件上)

Boz*_*sov 21

我发现这些插件在我的日常工作中最有用:

  • surefire - 用于单元测试
  • 依赖 - 用于模块依赖性分析
  • cobertura - 用于单元测试覆盖率分析
  • liquibase - 用于运行数据库迁移
  • assembly - 用于创建包含应用程序所需的所有依赖项的单个可执行jar

还有更多的探索,当然还取决于您的项目需求.当然,我使用的最有用的插件之一是我自己编写的一些特定需求.这是maven最有价值的功能之一 - 能够轻松扩展它.


Pas*_*ent 11

Maven的版本插件,检查和管理的POM和依赖的版本非常有用:

  • versions:display-dependency-updates - 扫描项目的依赖项,并生成具有更新版本的依赖项的报告.
  • versions:display-plugin-updates - 扫描项目的插件并生成具有更新版本的插件的报告.
  • versions:update-child-modules - 更新项目子模块的父节,以使版本与当前项目的版本匹配.例如,如果您有一个聚合器pom,它也是它聚合的项目的父级,并且子级和父级版本不同步,则此mojo可以帮助修复子模块的版本.(注意,如果您的项目因为版本不匹配而无法构建,那么您可能需要使用-N选项调用Maven以运行此目标.
  • versions:set - 可用于从命令行设置项目版本.


Jam*_*ery 10

maven jetty插件非常棒,它有助于使Web应用程序开发更容易.您可以简单地执行以下操作,而不是打包应用程序:

mvn jetty:run
Run Code Online (Sandbox Code Playgroud)

你的申请开始了.


Pas*_*ent 7

Maven的依赖插件是另一种强制性的插件调试/清洁/了解POM以及如何得到一些依赖(及物动词):

  • dependency:analyze - 分析该项目的依赖关系,并确定哪些是:使用和声明; 使用和未声明; 未使用和声明.
  • dependency:tree - 显示此项目的依赖关系树.


Pas*_*ent 6

Maven的强制实施插件,它允许控制所有的插件有一个指定的版本或特定环境的限制,如Maven的版本,JDK版本和操作系统的家庭多了很多标准规则和用户创建的规则一起.


Pas*_*ent 5

调试POM必须使用Maven帮助插件:

  • help:effective-pom - 显示有效的POM
  • help:active-profiles - 列出当前为构建活动的配置文件.
  • help:evaluate - 评估maven表达式


小智 5

Maven的FindBugs的插件是你想要的东西的静态代码分析.检测开发人员测试未涵盖的错误非常有用.


mat*_*sev 1

通常,一个插件有特定的用途,即您将使用的插件取决于您想要做的事情。例如,如果您想指定源版本,请使用maven-compiler-plugin, 或maven-javadoc-plugin来生成 javadoc。其他插件可能会在运行集成测试之前启动码头,并且有些插件可以将二进制版本部署到应用程序服务器等。

有关一般概述,请访问Maven - 可用插件或Maven 中央存储库中的插件目录。Codehaus 的Mojo 项目也有很多插件。可以在此处找到相应的存储库。