核心之外的8个必备Maven插件

使用Maven作为构建管理工具,您已经习惯了其核心插件和功能。 现在, 是时候启动您的Maven游戏并发现可以为您最喜欢的构建工具添加省时功能的顶级插件了

如果您是Java开发人员,则可能熟悉Maven,它是自2014年以来一直为Java开发人员提供服务的领先构建工具。Maven是一个健壮且灵活的解决方案,它使开发人员可以(除其他外)为软件构建过程设置标准。在项目中映射对象和依赖项,将其部署为应用程序,并使其他项目可以访问它。

从本质上讲,Maven是一个插件执行框架,如果没有插件来启用不同类别的功能,Maven真的无法做很多事情。 在讨论为您收集的有用的Maven插件之前,让我们快速回顾一下Maven插件的确切功能以及它们如何适合Maven构建过程。

Maven构建过程的简要解剖

执行时,Maven将运行一系列称为目标的任务,这些任务本质上是Java方法。 这些目标包含在插件中,执行各种构建任务,例如编译项目和运行单元测试以及创建JAR和WAR文件。 两种类型的插件包括构建插件和报告插件,每种都在POM中的相应元素中定义。

这些任务的执行顺序由跨不同生命周期的Maven 生命周期阶段定义(默认,清理和站点生命周期是在安装时在Maven中预定义的)。 从逻辑上讲,来自不同插件的不同目标将映射到每个阶段。

由于Maven预先包装了自己的默认核心插件 ,因此几乎不需要配置就可以开始使用Maven作为构建工具。 使用它的大多数经验丰富的Java开发人员都非常熟悉Apache Foundation中的预打包插件,因为在设置Maven时会自动下载并安装它们。

而且,它们往往是行业标准,在大多数情况下,约定优先于个性化。 就是说,有一个很好的理由是那里有数百个 由Apache及其他开发和策划 的插件 。 这些插件可以执行独特的任务,例如与第三方工具集成以进行单元测试报告。 使用现成的插件来执行所需的任务可以节省大量自定义核心插件的工作量,甚至可以节省您编写自己的插件的工作量。

基于社区的反馈和我们自己开发Java应用程序的经验,我们收集了许多Maven插件专家保存在其Maven工具库中,这些插件可以帮助您优化构建过程以节省宝贵的时间。

8个Java开发人员必备的Maven插件

1. 构建助手Maven插件

在Maven 3+中受支持(但是对于仍然使用Maven 2+的人来说是较旧的版本),Build Helper是一个多工具插件,包括许多目标,可在Maven中启用一些非常有用的功能。 其中的目标是解决该项目的最新发行版,将测试源目录添加到POM,附加要安装和部署的其他工件等

2. Maven码头插件

由Eclipse Foundation开发的Jetty Maven插件使您可以快速部署和测试Java Web应用程序,而无需创建WAR并将其部署到Web容器 。 将jetty添加到POM的build部分后,您将能够使用IDE对项目进行更改,并且当您对修改的类和Web源进行更改时,Jetty插件会自动重新加载。 这样可以提高生产力和加快开发周期。

3. maven-shade-plugin

使用Apache Foundation提供的此插件,您可以将工件(包括其依赖项)打包在uber-jar中,并隐藏某些依赖项的包 。 在这种情况下,阴影是指重命名某些依赖项的程序包。 考虑到依赖关系,这提供了明显优于默认工件的JARing或WARing的优势。

4. spring-boot-maven-plugin

Spring Boot通常用于部署Webapp的后端,并且这个方便的插件为Maven添加了Spring Boot支持,因此您可以打包可执行JAR或WAR并“就地”运行应用程序 。 该插件包括用于运行,启动和停止Spring Boot应用程序,将您的JAR / WAR重新打包为可执行文件的五个目标,以及一个生成信息目标以生成供执行器使用的生成信息。

5. sql-maven-plugin

需要在构建过程中执行SQL命令吗? Maven SQL插件让您满意。 您可以将字符串与sqlCommand组合在一起执行SQL语句,通过srcFiles组合列出文件,并通过fileset组合一组文件来执行SQL语句

我们列表中的最后三个插件执行了非常相似的任务:打包Java应用程序 ,以便在所选的操作系统上轻松执行。

6. Windows: launch4j-maven-plugin

Launch4j是JAR文件包装程序,可将它们转换为可执行文件以简化Java桌面应用程序的部署 。 Launch4j可以在Windows,Linux,Solaris或OS X上运行,并通过XML文件进行配置。 Launch4j的Maven插件使您可以在Maven构建过程中生成可执行文件。

7.苹果: appbundle-maven-plugin

在Apple机器上测试应用程序? 没问题。 这个Maven插件为OS X创建了一个Application Bundle,它将包含您所有项目的依赖和必要的元数据

8. Linux: debian-maven-plugin

最后但并非最不重要的是此插件,用于创建.deb软件包文件,版权文件和可传递性地复制运行时依赖项 。 跨平台且独立(不需要其他外部工具),将其添加到您的Maven构建过程中所需要的就是Java 8和Maven 3.3。

当然,这是一个很短的清单。 如果您正在阅读此书并想知道“为什么X不在列表中”? 奇怪的是,这仅仅是因为我们的Maven常驻专家尚未了解它,如果您进行介绍并在评论中提及您最喜欢的Maven插件,将不胜感激。


取得Codota


From: https://blog.codota.com/8-essential-maven-plugins-beyond-the-core/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值