`

maven插件:maven-compiler-plugin

 
阅读更多

1、maven-compiler-plugin,用于代码编译      

<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-compiler-plugin</artifactId>
	<version>3.6.0</version>
	<configuration>
		<source>1.7</source>
		<target>1.7</target>
	</configuration>
</plugin>

    编译版本也可以这样设置:    

<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.7</maven.compiler.source>
        <maven.compiler.target>1.7</maven.compiler.target>
 </properties>

 2、使用eclipse自带的编译器编译,如果有jdk1.7(泛型)新特性时会报错,加入plexus-compiler-eclipse构建进行处理 

<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-compiler-plugin</artifactId>
	<version>3.1</version>
	<configuration>
		<source>1.7</source>
		<target>1.7</target>
		<compilerId>eclipse</compilerId>
	</configuration>
	<dependencies>
		<dependency>
			<groupId>org.codehaus.plexus</groupId>
			<artifactId>plexus-compiler-eclipse</artifactId>
			<version>2.2</version>
		</dependency>
	</dependencies>
</plugin>

 3、上述问题的另外处理方案: Eclipse编译代码(即clean)时,使用的是自带的JDT(Java Development Tools),而Maven默认使用的是JAVA_HOME中的javac,而javac相对JDT的检查机制来说,更加的严格,所以导致Eclipse可以编译通过,        而用Maven编译会报错的结果。 解决:点击 Eclipse –> Project –> Clean…  使用JDT将源代码编译到target文件夹下,然后直接使用mvn package 打包即可(不要加clean)。

4、配置解释

<source>:源代码使用的开发版本

<target>:需要生成的目标class文件的编译版本

一般而言,target与source是保持一致的,但是,有时候为了让程序能在其他版本的jdk中运行,需要配置不同的版本。比如:生产环境jdk为1.5,开发环境jdk为1.7,只要保证开发环境不使用1.5之后的新语法,配置不同的版本编译也是可以的。

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics