差异

2017-09-01 64 views
3

可能有两种不同的属性,如Maven的属性来指定Java版本的:差异

<properties> 
    <java.version>7</java.version> 
</properties> 

<properties> 
    <maven.compiler.source>7</maven.compiler.source> 
    <maven.compiler.target>7</maven.compiler.target> 
</properties> 

有什么区别,当使用什么?

回答

1

这两种配置Java版本的方式产生完全相同的结果。

1)这是standard Maven way重视源和目标的Java版本:

<properties> 
    <maven.compiler.source>7</maven.compiler.source> 
    <maven.compiler.target>7</maven.compiler.target> 
</properties> 

2)虽然这是一个Spring Boot specificity

<properties> 
    <java.version>7</java.version> 
</properties> 

这是一个快捷属性不同时声明源和目标版本具有相同的值。

the spring-boot-starter-parent pom,我们可以看到,java.version是用来珍惜maven.compiler.sourcemaven.compiler.target

<properties> 
    <java.version>1.8</java.version> 
    .... 
    <maven.compiler.source>${java.version}</maven.compiler.source> 
    <maven.compiler.target>${java.version}</maven.compiler.target> 
</properties> 

这种方式可能是有意义的大部分时间,来源和目标版本的情况下(但它是不是一种标准的方式)。


如果您开发Spring Boot应用程序,您可以选择其中一个。
否则,只有第二个应该使用。