我们正在转向Maven,我知道有一个不同的插件和世界的世界。扩展。哪些是您推荐用于一般用途的最佳产品?
(请在每个答案的插件上)
答案 0 :(得分:21)
我发现这些插件在我的日常工作中最有用:
还有更多的探索,当然还取决于您的项目需求。当然,我使用的最有用的插件之一是我自己编写的一些特定需求。这是maven最有价值的功能之一 - 能够轻松扩展它。
答案 1 :(得分:11)
Maven Versions Plugin,对于检查和管理POM和依赖项的版本非常有用:
versions:display-dependency-updates
- 扫描项目的依赖项,并生成具有更新版本的依赖项的报告。versions:display-plugin-updates
- 扫描项目的插件,并生成那些有更新版本的插件的报告。versions:update-child-modules
- 更新项目子模块的父节,以使版本与当前项目的版本匹配。例如,如果您有一个聚合器pom,它也是它聚合的项目的父级,并且子级和父级版本不同步,则此mojo可以帮助修复子模块的版本。 (注意,如果您的项目因为版本不匹配而无法构建,那么您可能需要使用-N选项调用Maven以运行此目标。)versions:set
- 可用于从命令行设置项目版本。答案 2 :(得分:10)
maven jetty插件非常棒,它有助于使Web应用程序开发更容易。您可以简单地执行此操作,而不是打包您的应用程序:
mvn jetty:run
你的申请开始了。
答案 3 :(得分:7)
Maven Dependency Plugin是调试/清理/理解POM以及如何获得某些依赖(传递)的另一个强制插件:
dependency:analyze
- 分析该项目的依赖关系,并确定哪些是:使用和声明的;使用和未声明;未使用和宣布。dependency:tree
- 显示此项目的依赖关系树。答案 4 :(得分:6)
允许控制所有插件具有指定版本或某些环境约束的Maven Enforcer Plugin,例如Maven版本,JDK版本和OS系列,以及更多标准规则和用户创建的规则。
答案 5 :(得分:5)
调试POM所必需的Maven Help Plugin:
help:effective-pom
- 显示有效的POM help:active-profiles
- 列出当前为构建活动的配置文件。help:evaluate
- 评估maven表达式答案 6 :(得分:5)
Maven FindBugs Plugin是您想要进行静态代码分析的东西。检测开发人员测试未涵盖的错误非常有用。
答案 7 :(得分:4)
Maven Cargo Plugin启动和停止Web容器。您还可以使用它将Web应用程序部署到正在运行的容器中。我们将它用于Web应用程序的集成和功能测试。
答案 8 :(得分:4)
exec-maven-plugin对于运行未知插件未涵盖的任务非常有用。
它有两个目标,第一个'exec'允许您运行任何可执行文件,就好像您在任何阶段从命令行运行它一样。第二个目标'java'允许你运行任何java类。
当我不得不添加由CUP生成的Parser类时,它可以节省生命。没有CUP maven插件,但是exec允许我执行CUP的主java类来生成我的解析器。
我可以想到这个的任何用途;然而却很难找到;它的存在应该贴在maven文档的首页上。
答案 9 :(得分:3)
请原谅这个插件,但这比重复每个插件更容易:)
这里介绍了一些内容,但这包括其他内容。
答案 10 :(得分:3)
The GMaven plugin可让您在生命周期中嵌入groovy代码。
答案 11 :(得分:1)
通常,一个插件具有特定目的,即您将使用的插件取决于您想要的东西。例如,如果要指定源版本,请使用maven-compiler-plugin
或maven-javadoc-plugin
生成javadoc。其他插件可能会在运行集成测试之前启动Jetty,并且有一些插件可将二进制版本部署到应用程序服务器等。
有关概述,请访问Maven - Available Plugins或Maven Central Repository上的插件目录。 Codehaus的Mojo project还有许多插件。可以找到相应的存储库here。