博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Apache Maven项目提供的Compiler插件详解
阅读量:4177 次
发布时间:2019-05-26

本文共 1958 字,大约阅读时间需要 6 分钟。

Compiler插件用于编译Maven项目的Java源代码,最新版本是2016.2发布的3.5.1(刚刚看到,最新版本已经更新为3.8.0,2018.7.26更新)。

Compiler插件提供了如下2个goal,默认都已经绑定到Maven的生命周期阶段,无需单独指出。

  • ,绑定到compile 阶段,用以编译main/路径下的源代码
  • 绑定到test-compile阶段,用以编译test/路径下的源代码

1. Compiler插件的基本配置信息

org.apache.maven.plugins
maven-compiler-plugin
3.8.0
...

2.Compiler插件使用的Java编译器

编译Java源代码就离不开Java编译器。在Compiler插件3.0之前,默认的Java编译器就的JDK自带的javac。但是从Compiler插件3.0开始(需要JDK 1.6),默认的Java编译器是JDK的javax.tools.JavaCompiler

如果仍然希望使用JDK自带的javac编译源代码,就需要为mvn命令配置forceJavacCompilerUse启动参数如下:

-Dmaven.compiler.forceJavacCompilerUse=true

3.设置Java编译器的执行参数

 

 

org.apache.maven.plugins
maven-compiler-plugin
3.8.0
true
-verbose
-Xlint:all,-options,-path

4.设置使用其他JDK的编译器

 

 

命令mvn的运行需要依赖JDK,Compiler插件默认使用当前运行mvn命令的JDK去编译Java源代码。如果想使用其他版本的JDK编译Java源代码,则需要设置如下:

org.apache.maven.plugins
maven-compiler-plugin
3.8.0
true
${JAVA_1_8_HOME}/bin/javac
1.6

注意:上述配置中,用以编译Java源代码的是JDK 1.8,而运行mvn命令的是JDK 1.6

5.设置要编译的Java源代码兼容的JVM版本和编译后的类库拟运行的JVM版本

通过设置Java源代码兼容的JVM版本,标明Java源代码开发过程中使用的Java版本。

通过设置编译后的类库拟运行的JVM版本,给出编译后的类库将要运行的Java环境。

默认,这两个版本都是1.6,即Java源代码开发使用JDK 1.6,编译后的类的运行环境也是JRE 1.6

org.apache.maven.plugins
maven-compiler-plugin
3.8.0
1.8
1.8

6.设置JVM可用的运行内存空间

 

 

Compiler插件的运行本身也需要一定的内存空间,默认单位为M字节,设置如下:

org.apache.maven.plugins
maven-compiler-plugin
3.8.0
true
128m
512m

 

 

 

参考文献:

转载地址:http://tjlai.baihongyu.com/

你可能感兴趣的文章
sqlserver导入sql文件的方式
查看>>
IDEA无法登录github解决
查看>>
Spring Bean的生命周期
查看>>
mysql的通用查询日志和慢查询日志
查看>>
IDEA中设置Run Dashboard(Services)
查看>>
Mysql5.7免安装安装教程 win10
查看>>
SpringBoot属性注入的几种方式
查看>>
Idea 解决SVN冲突
查看>>
Sptingboot AOP实现多数据源切换(Hive Impala oracle)
查看>>
dynamic-datasource动态多数据源整合hive impala
查看>>
Mybatis+impala插入超过510个字符串的字段报:HIVE_PARAMETER_QUERY_DATA_TYPE_ERR_NON_SUPPORT_DATA_TYPE
查看>>
SpringBoot项目启动完成自动打开网址
查看>>
记录一下把mapper.xml文件放在java的坑
查看>>
反射的使用
查看>>
使用Stream排序分组
查看>>
linux安装mysql 5.7.23二进制 安装jdk tomcat
查看>>
mysql总结 windows 版本
查看>>
POI 导出工具类
查看>>
HTTP请求工具类
查看>>
Ngnix+tomcat 集群以及session共享
查看>>