文档章节

Maven编译期管理插件——maven-compiler-plugin

BakerZhu
 BakerZhu
发布于 2018/10/08 18:45
字数 577
阅读 98
收藏 2

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的插件式管理,来起到修改默认配置的功能 。 此处是一体现。

© 著作权归作者所有

上一篇: Vue学习记录
下一篇: Sharding-Sphere 概览
BakerZhu
粉丝 109
博文 517
码字总数 423077
作品 0
通州
程序员
私信 提问
加载中

评论(0)

如何自动生成JPA元模型对象(1)—hibernate元模型生成器

Hibernate静态元模型生成器既可以通过命令行使用,也可以集成在IDE中使用。大多数情况下,如果使用了jdk6及以上的版本,并且注解处理器的jar已经被包含在classpath中,注解处理器会自动的运行...

Jason-ZH
2015/12/02
1.7K
0
常用Maven插件介绍(下)

转自:http://www.infoq.com/cn/news/2011/05/xxb-maven-8-plugin 我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代...

long0404
2016/06/16
0
0
Maven实战(八)——常用Maven插件介绍(下)

我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的。进一步说,每个任务对应了一...

有事没事
2016/09/21
73
0
Maven实战(七)——常用Maven插件介绍(上)

我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的。进一步说,每个任务对应了一...

有事没事
2016/09/21
54
1
Maven常用插件的使用Case

Maven是Java工程常用的项目管理工具,通过Maven可以管理项目的各个生命周期。Maven本质是一个插件框架,本身并不执行任何构建任务,所有的工作都是交给插件来完成的。熟练使用Maven插件,可以...

huamingweiwen
2015/08/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

主机管理系统ZKEYS资源池授权详细流程

一、 获取ZKEYS授权 创建API密匙 1.登录ZKEYS(官网),进入会员中心 2.账户-API密匙管理-创建API密匙 3.填写ip白名单 4.安全验证,填写收到的验证码 5.API密匙创建成功 6.复制Secretld和Sec...

cloudman运维
9分钟前
8
0
Nginx进程模型解析

1.启动nginx之后,我们输入ps -ef|grep nginx 一个是工作进程,一个是主进程 2.如何手动配置进程数 修改nginx.conf ,第一行修改成2 3.重新启动 ../sbin/nginx -t 显示success 表示修改没问题...

牛A和牛C之间的我
18分钟前
11
0
java通过http请求调用接口 (get ,post,上传文件)

package com.xx.util;import com.alibaba.fastjson.JSON;import com.hcr.aurora.vo.ParamVo1;import org.apache.http.Consts;import org.apache.http.HttpEntity;import org.apa......

yan_liu
18分钟前
21
0
UnicodeEncodeError:'ascii'编解码器无法在位置20编码字符u'\\ xa0':序数不在范围内(128)

问题: I'm having problems dealing with unicode characters from text fetched from different web pages (on different sites). 我在处理从不同网页(在不同站点上)获取的文本中的unico......

javail
25分钟前
11
0
CentOS 7 安装Gitlab

1、安装依赖 yum -y install policycoreutils openssh-server openssh-clients postfix 2、设置postfix开机自启,并启动,postfix支持gitlab发信功能 systemctl enable postfix && systemct......

张小渔
26分钟前
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部