maven-compiler-plugin
Maven是Java的项目管理工具 , 可以利用方便的插件依赖,来帮我们方便的管理项目的各个生命周期。
在项目开发过程中经常遇到:
- 代码编写与Java编译器版本不兼容问题
- 文件编码与项目编码不一致问题
- Maven某声明周期执行过程中遇到测试单元自动执行问题
当遇到上面问题时,我们有针对IDEA 工具层面的修正, 但针对pom更新时, 原有的修正又会回到默认的配置。开发过程中遇到很多相关的困扰 。 针对这些问题,Maven提供一 插件依赖,来提供编译器,编码,是否跳过测试用例,引包 等默认配置。
<plugin>
<!-- 指定maven编译的jdk版本,如果不指定,maven3默认用jdk 1.5 maven2默认用jdk1.3 -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<!-- 一般而言,target与source是保持一致的,但是,有时候为了让程序能在其他版本的jdk中运行(对于低版本目标jdk,源代码中不能使用低版本jdk中不支持的语法),会存在target不同于source的情况 -->
<source>1.8</source> <!-- 源代码使用的JDK版本 -->
<target>1.8</target> <!-- 需要生成的目标class文件的编译版本 -->
<encoding>UTF-8</encoding><!-- 字符集编码 -->
<skip>true</skip><!-- 跳过测试 -->
<verbose>true</verbose>
<showWarnings>true</showWarnings>
<fork>true</fork><!-- 要使compilerVersion标签生效,还需要将fork设为true,用于明确表示编译版本配置的可用 -->
<meminitial>128m</meminitial><!-- 编译器使用的初始内存 -->
<maxmem>512m</maxmem><!-- 编译器使用的最大内存 -->
<compilerArgument>-verbose -bootclasspath ${java.home}\lib\rt.jar</compilerArgument><!-- 这个选项用来传递编译器自身不包含但是却支持的参数选项 -->
</configuration>
</plugin>
Maven是项目管理工具, 利用引用pom的插件式管理,来起到修改默认配置的功能 。 此处是一体现。