最近在工作中需要打包项目,直接使用了Maven Package的命令,但是在编译测试的时候耗时很长,这个时候就想着有没有能跳过测试的方法。

-DskipTests,不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下。

-Dmaven.test.skip=true,不执行测试用例,也不编译测试用例类。

第一种方法: 使用 mvn package -DskipTests 跳过单元测试,但是会继续编译。如果没时间修改单元测试的bug,或者单元测试编译错误,则使用第二种方法。

<plugin>  
    <groupId>org.apache.maven.plugins</groupId>  
    <artifactId>maven-surefire-plugin</artifactId>  
    <version>2.5</version>  
    <configuration>  
        <skipTests>true</skipTests>  
    </configuration>  
</plugin>

第二种方法:使用maven.test.skip,不但跳过单元测试的运行,也跳过测试代码的编译。

mvn package -Dmaven.test.skip=true 

也可以在pom.xml中加入:

<plugin>  
    <groupId>org.apache.maven.plugin</groupId>  
    <artifactId>maven-compiler-plugin</artifactId>  
    <version>2.1</version>  
    <configuration>  
        <skip>true</skip>  
    </configuration>  
</plugin>  
<plugin>  
    <groupId>org.apache.maven.plugins</groupId>  
    <artifactId>maven-surefire-plugin</artifactId>  
    <version>2.5</version>  
    <configuration>  
        <skip>true</skip>  
    </configuration>  
</plugin>

默认idea的跳过测试采用的是第一种,所以仍然会编译代码,如果想不执行测试用例,也不编译测试用例类,那么必须采用第二种方式在pom中加上skip为true,这样才能跳过编译

说了那么多,终极方法:maven 工具栏右上角有个小闪电 点击一下(感谢评论区的建议)

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐