差異

2017-09-01 63 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應用程序,您可以選擇其中一個。
否則,只有第二個應該使用。