首页 > 其他分享 >一些好用的maven插件介绍

一些好用的maven插件介绍

时间:2023-12-25 20:01:23浏览次数:34  
标签:xml Maven 插件 代码 maven 测试 好用

 

一些好用的maven插件介绍

转载自:https://juejin.cn/post/7231527422200692794

Maven插件是扩展Maven功能的方式之一,它可以帮助我们更轻松地管理依赖性、构建应用程序、运行测试和部署应用程序等。maven插件实在是太多了,我这里也介绍不完,仅仅以我使用过的也比较实用的给大家介绍一下,希望对大家有点帮助。

首先maven本身自带了许多插件,比如清理插件,打包插件 Maven打包及其相关插件和高级特性,部署插件等等,这些我们直接略过了。

测试插件

maven-surefire-plugin

Surefire插件用于运行单元测试,而Failsafe插件用于运行集成测试。这两个插件都可以自动地查找测试类并运行测试方法。

使用Maven测试插件非常简单。只需要在项目的pom.xml文件中添加插件配置即可。例如,要使用Surefire插件运行单元测试,可以添加以下配置:

  xml 复制代码
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <version>3.0.0-M5</version>
      <configuration>
        <!-- 配置测试类文件所在的目录 -->
        <testSourceDirectory>src/test/java</testSourceDirectory>
        <!-- 配置测试类的匹配规则 -->
        <includes>
          <include>**/*Test.java</include>
        </includes>
      </configuration>
    </plugin>
  </plugins>
</build>

在上面的配置中,我们指定了测试类文件所在的目录和测试类的匹配规则。这样,当我们运行mvn test命令时,Surefire插件就会自动查找符合规则的测试类,并运行其中的测试方法。

  csharp 复制代码
public class MyTest {
    @Test
    public void testAddition() {
        int result = 2 + 2;
        assertEquals(4, result);
    }

    @Test
    public void testSubtraction() {
        int result = 5 - 3;
        assertEquals(2, result);
    }
}

在上面的测试类中,testAddition()和testSubtraction()方法分别测试了加法和减法的正确性。这些测试方法使用了JUnit的@Test注解来标记,在运行测试时会自动执行

运行结果如下:

maven-failsafe-plugin

Maven Failsafe插件是Maven提供的一个测试插件,用于运行集成测试。与Maven Surefire插件不同,Maven Failsafe插件用于运行需要依赖外部环境、例如数据库或网络等的测试。

与Surefire插件类似,Failsafe插件会自动查找和执行符合命名规则的测试类和测试方法。默认情况下,Failsafe插件会查找以IT结尾的测试类,并运行其中以test开头的所有方法。

例如,下面是一个简单的集成测试类

  java 复制代码
public class IntegrationTest {
    @Test
    public void testDatabaseConnection() throws SQLException {
        // 测试数据库连接
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "password");
        assertFalse(conn.isClosed());
    }

    @Test
    public void testWebService() throws IOException {
        // 测试Web服务
        URL url = new URL("http://localhost:8080/hello");
        HttpURLConnection con = (HttpURLConnection) url.openConnection();
        con.setRequestMethod("GET");
        int status = con.getResponseCode();
        assertEquals(200, status);
    }
}

在上面的测试类中,我们编写了两个测试方法,分别测试数据库连接和Web服务。这些测试方法依赖于外部环境,例如MySQL数据库和运行中的Web服务。

要在Maven项目中使用Failsafe插件,需要在项目的pom.xml文件中添加以下插件配置

  xml 复制代码
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-failsafe-plugin</artifactId>
      <version>3.0.0-M5</version>
      <executions>
        <execution>
          <id>integration-test</id>
          <goals>
            <goal>integration-test</goal>
          </goals>
        </execution>
        <execution>
          <id>verify</id>
          <goals>
            <goal>verify</goal>
          </goals>
        </execution>
      </executions>
      <configuration>
        <!-- 配置测试类文件所在的目录 -->
        <testSourceDirectory>src/test/java</testSourceDirectory>
        <!-- 配置测试类的匹配规则 -->
        <includes>
          <include>**/*Test.java</include>
        </includes>
      </configuration>
    </plugin>
  </plugins>
</build>

在上面的插件配置中,我们指定了测试类文件所在的目录和测试类的匹配规则。此外,我们还定义了两个执行阶段:integration-test和verify。执行mvn verify命令时,Failsafe插件会自动运行集成测试,并输出测试结果。

Maven Failsafe插件是一个非常有用的工具,它可以帮助我们测试依赖外部环境的代码,并验证项目在真实环境下的可靠性和稳定性。

代码检查插件

arch-unit-maven-plugin

ArchUnit是一个用于Java代码架构自动化检测的开源框架,可以帮助开发者在编译期间自动化地检查代码的结构和规范。使用Maven ArchUnit插件,需要在项目的pom.xml文件中添加以下插件配置:

  xml 复制代码
<plugin>
  <groupId>com.societegenerale.commons</groupId>
  <artifactId>arch-unit-maven-plugin</artifactId>
  <version>2.7.2</version>
  <configuration>
    <!-- 需压排出的包路径 -->
    <excludedPaths>
      <excludedPath>my/package/to/exclude</excludedPath>
    </excludedPaths>

    <rules>
      <configurableRules>
        <configurableRule>
          <!--<rule>com.tngtech.archunit.library.GeneralCodingRules</rule>-->
          <rule>com.poe4j.archunit.rules.ArchunitBootRule</rule>
          <applyOn>
            <packageName>com.wisesoft</packageName>
            <scope>main</scope>
          </applyOn>
        </configurableRule>
      </configurableRules>
			<dependencies>
        <dependency>
          <groupId>com.example</groupId>
          <artifactId>my-archunit-tests</artifactId>
          <version>1.0.0-SNAPSHOT</version>
          <scope>test</scope>
        </dependency>
      </dependencies>
    </rules>
  </configuration>
</plugin>

需要注意的是,这段代码中的标签指定了要应用的规则类。如果要使用ArchUnit框架提供的预定义规则,可以使用类似com.tngtech.archunit.library.GeneralCodingRules这样的规则类。如果要使用自定义规则,需要提供自定义规则类的全限定名。

此外,标签中的和分别指定了应用规则的包名和范围。可以根据需要修改这些配置来适应不同的项目和规则需求。

在上面的插件配置中,我们指定了ArchUnit Maven插件的版本号和执行阶段。此外,我们还添加了一个依赖项,即ArchUnit测试的项目。在这个例子中,我们假设ArchUnit测试的项目是my-archunit-tests,版本号为1.0.0-SNAPSHOT。

一旦配置完毕,就可以在Maven构建过程中运行ArchUnit测试了。例如,要运行ArchUnit测试,可以使用以下命令:

  bash 复制代码
mvn clean test

当项目编译项目时,ArchUnit会在测试阶段自动运行ArchUnit测试。如果有测试失败或出现错误,Maven会将相关信息输出到控制台上,帮助你找到问题所在。

总的来说,Maven ArchUnit插件是一个非常有用的工具,它可以帮助我们自动化测试Java代码的结构和规范,并提高代码的可维护性和稳定性。

maven-pmd-plugin

Maven PMD插件是一个用于代码静态分析的Maven插件,它可以帮助开发者自动化地检查代码中的潜在问题和错误。PMD是一款流行的Java代码静态分析工具,它可以检测代码中的常见问题,例如未使用的变量、空的代码块、代码重复等。

使用Maven PMD插件,需要在项目的pom.xml文件中添加以下插件配置:

  xml 复制代码
<build>

  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-pmd-plugin</artifactId>
      <version>3.15.0</version>
      <executions>
        <execution>
          <phase>verify</phase>
          <goals>
            <goal>pmd</goal>
          </goals>
        </execution>
      </executions>
      <configuration>
        <!-- 配置检查规则 -->
        <rulesets>
          <ruleset>/rulesets/java/basic.xml</ruleset>
          <ruleset>/rulesets/java/braces.xml</ruleset>
          <ruleset>/rulesets/java/strings.xml</ruleset>
        </rulesets>
        <!-- 配置结果输出格式 -->
        <format>xml</format>
        <targetJdk>1.8</targetJdk>
      </configuration>
    </plugin>
  </plugins>
</build>

在上面的插件配置中,我们指定了Maven PMD插件的版本号、执行阶段和配置信息。在这个例子中,我们将PMD检查阶段定义为verify,并指定了要使用的检查规则和结果输出格式。此外,我们还指定了目标JDK版本为1.8。

在运行Maven构建命令时,PMD插件会自动检查代码,并输出检查结果。例如,要运行PMD检查,可以使用以下命令:

  复制代码
mvn clean verify

这会自动编译项目,并在验证阶段自动运行PMD检查。如果有潜在问题或错误,PMD插件会将相关信息输出到控制台上,帮助你找到问题所在。

Maven PMD插件可以帮助我们自动化地检查代码中的潜在问题和错误,并提高代码的可维护性和稳定性。

代码混淆插件

这个我以前写过一篇文章 代码混淆插件,在这里我就不多做介绍了。

总结

以上就是对我们常会用到的一些maven插件的总结,希望能对大家有所帮助,当然maven还有很多有用和有趣的插件大家可以自己探索。

再次希望大家能够喜欢我的文章,以上内容就到这里,感谢各位看官老爷们的观看,如果觉得写得好,给个赞支持一下哈!!!

标签:xml,Maven,插件,代码,maven,测试,好用
From: https://www.cnblogs.com/wanghengbin/p/17926868.html

相关文章

  • 这款IDEA插件用着确实爽
    IDEA是一款功能强大的集成开发环境(IDE),它可以帮助开发人员更加高效地编写、调试和部署软件应用程序。我们在编写完接口代码后需要进行接口调试等操作,一般需要打开额外的调试工具。今天给大家介绍一款IDEA插件:Apipost-Helper-2.0。代码写完直接编辑器内调试、还支持生成接口文档、......
  • 好用的接口自动化测试工具
    Apipost提供可视化的API自动化测试功能,使用Apipost研发人员可以设计、调试接口,测试人员可以基于同一数据源进行测试,Apipost接口自动化功能在上次更新中进行了逻辑调整,带来更好的交互操作、更多的控制器选择,同时新增同步接口模式选择、测试数据选择功能。添加接口使用Apipost,......
  • 免费IDEA插件推荐-Apipost-Helper
    IDEA插件市场中的API调试插件不是收费(FastRequest)就是不好用(apidoc、apidocx等等)今天给大家介绍一款国产的API调试插件:Apipost-Helper,完全免费且好看好用!这款插件由Apipost团队开发的,其官方介绍是:用于IDEA项目快速生成API文档,快速查询接口、接口代码功能,并支持在IDEA中进行API......
  • 不使用第三方插件自己写一个数字递增滚动组件
    开箱即用水贴专用哈哈哈封装NumberRoller.vue组件<template><div><span:style="fontColorSize">{{formattedValue||0}}</span></div></template><script>exportdefault{props:{rollNumber:{//......
  • 手写滑动同步滚动进度条jq插件
    因需要一种滑动显示内容,并且带可拖动的进度条,即下面这种效果 找了很多插件,总有地方不能满足需求。于是决定自己手写,下面为完整源码:swiper.js1$.swiperCalculator=function(wrap,drag){2this.wrap=wrap;3this.drag=drag;4this.dWidth=drag......
  • 免费又好用的在线资源托管支持外链
    免费又好用的在线资源托管支持外链有时候想外链引用一些媒体资源,如音乐、图片等1.opendrivehttps://www.opendrive.com......
  • Cost Calculator Builder PRO v3.1.46 已注册 – WordPress 插件
    成本计算器生成器PROv3.1.46:WordPress插件全解析一、插件概述"成本计算器生成器PROv3.1.46"是一款强大的WordPress插件,专为需要创建报价、价格和项目估算表的用户设计。这款插件集成了众多高级功能,可帮助用户高效地管理他们的成本和价格,从而提供准确的报价估算。二、条......
  • Taurus .Net Core 微服务开源框架:Admin 插件【4-5】 - 配置管理-Mvc【Plugin-Admin 后
    前言:继上篇:Taurus.NetCore微服务开源框架:Admin插件【4-4】-配置管理-Mvc【Plugin-CORS跨域】本篇继续介绍下一个内容:系统配置节点:Mvc- Plugin- Admin 后台界面:配置界面如下: 配置说明如下:1、Admin.IsEnable:配置当前后台插件是否可用这是个很危险的开关:如果......
  • 强大的VS插件CodeRush全新发布v23.2——支持并发.NET类型
    CodeRush是一个强大的VisualStudio.NET插件,它利用整合技术,通过促进开发者和团队效率来提升开发者体验。CodeRush能帮助你以极高的效率创建和维护源代码。Consume-first申明,强大的模板,智能的选择工具,智能代码分析和创新的导航以及一个无与伦比的重构集,在它们的帮助下能够大大的......
  • 《安富莱嵌入式周报》第329期:圣诞前夕,各种软件井喷式更新,开源600Wh的UPS低压电源,各种
    周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104 圣诞前夕,各种软件井喷式发布新版本视频版:https://www.bilibili.com/video/BV19Q4y1u7Es 1、开源600Wh的UPS低压电源https://pop.fsck.pl/projects/secondlife-ups-Mk......