Maven 参数(maven.test.skip 和 maven.test.skip.exec) 区别

简介:

 Part 1原因在于我们参数的差异:

 

情况mvn clean install -Dmaven.test.skip=true

这种情况,即不编译测试类文件,也不执行测试类文件

 

情况2mvn clean install –Dmaven.test.skip.exec=true

这种情况,编译测试类文件成字节码文件,但是不执行字节码文件

 

 

由于以前大家都没写单元测试,所以没问题,现在有单元测试进来了,于是问题来了。

 

 

----分界线----

 

第一种情况下,(也就是出错的情况),我们maven3(基于JDK 1.6 不编译这些,所以一直运行到build successful ,没问题。

然后。。(关键来了)执行sonar,因为我们Jenkins版本非常低,只能接受sonar2.0,而sonar 2.0(基于JDK 1.5)在执行生命周期时 maven-compiler-plugin:2.3.2:testCompile时候,他发现没有编译那些类,所以他用jdk 1.5编译测试类,而我们源代码是1.6的源码,他没能力编译这些,所以编译不通过。



 

 

第二种情况, 我们maven3(基于JDK 1.6) 编译这些类,所以在target目录下生成了 1.6版本的字节码,但是不运行他们。一切都很顺利,然后到了sonar了,同样会调用compiler-plugin:2.3.2:testCompile ,(关键来了),此时他比较一下时间戳,发现是已经有最新的字节码了(maven3 使用JDK 1.6来编译的),所以,他就跳过了testCompile阶段,所以没问题了。

 

 

 

 

Part 2:解决办法

 

一个办法就是把参数弄成Dmaven.test.skip.exec 但这不是最好的方法

最好的方法是,让sonarsource version target version设置为1.6,而不是默认的1.5






本文转自 charles_wang888 51CTO博客,原文链接:http://blog.51cto.com/supercharles888/834260,如需转载请自行联系原作者

目录
相关文章
|
Java Maven Spring
Maven高级-继承、实施步骤及聚合与继承的区别
Maven高级-继承、实施步骤及聚合与继承的区别
146 0
|
Java Maven 编译器
Java编译器注解运行和自动生成代码问题之@AutoService工作问题如何解决
Java编译器注解运行和自动生成代码问题之@AutoService工作问题如何解决
484 1
|
10月前
|
Java 应用服务中间件 Maven
Maven的三种项目打包方式——pom,jar,war的区别
Maven 提供了多种打包方式,分别适用于不同类型的项目。pom 用于父项目或聚合项目,便于项目的结构和依赖管理;jar 用于Java类库或可执行的Java应用程序;war 则专用于Java Web应用程序的部署。理解这些打包方式的用途和特点,可以帮助开发者更好地配置和管理Maven项目,确保构建和部署过程的顺利进行。无论是单模块项目还是多模块项目,选择合适的打包方式对于项目的成功至关重要。
1382 3
|
XML Java Maven
Java 中的 Maven 和 Ant 的区别
【8月更文挑战第22天】
413 0
|
IDE Java Linux
在Maven中设置JVM系统参数及Java应用调试实例
在Maven中设置JVM系统参数及Java应用调试实例
589 0
|
Java Maven
Maven命令行参数详解
Maven命令行参数详解
560 0
|
Java Maven
蓝易云 - Maven使用mvn命令时跳过test的参数
另外,还有一个参数 `-Dmaven.test.skip=true`也可以用来跳过测试,但是这个参数不仅跳过测试,还会跳过编译测试代码的阶段。所以,如果你的项目中有其他模块依赖测试代码,那么使用 `-Dmaven.test.skip=true`可能会导致构建失败。在大多数情况下,推荐使用 `-DskipTests`参数。
198 0
|
Java Linux Apache
Maven的Binary与Source区别
Maven的Binary与Source区别
338 1
|
Java API Maven
maven中scope和optional区别
maven中scope和optional区别
213 1
|
Java 测试技术 Maven
boot项目添加运行参数的maven插件
boot项目添加运行参数的maven插件
183 0