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的插件式管理

更多推荐