在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>
有什么区别以及何时使用什么?
答案 0 :(得分:1)
这两种配置Java版本的方法产生完全相同的结果。
1)这是standard Maven way值的源和目标Java版本:
Path: /Users/username/Documents/apache-tomcat-8.5.15/bin/etc
ArrayList<String> readList = null;
String workingDir = System.getProperty("user.dir");
String fileName = "File.txt";
File file = new File(workingDir+"/etc/" + fileName);
readList = resourceReader.readFile(file.getAbsolutePath());
2)虽然这是Spring Boot specificity:
<properties>
<maven.compiler.source>7</maven.compiler.source>
<maven.compiler.target>7</maven.compiler.target>
</properties>
这是一个快捷方式属性,不会声明源版本和目标版本,因为它们具有相同的值。
从the spring-boot-starter-parent pom,我们可以看到<properties>
<java.version>7</java.version>
</properties>
用于评估java.version
和maven.compiler.source
:
maven.compiler.target
这种方式可能有意义,因为大部分时间,源和目标版本都是这种情况(但它不是标准方式)。
如果您开发Spring Boot应用程序,则可以选择其中一个 否则,只应使用第二个。