简短答案:
正确的方法是
<java.version>对不同的Java版本使用以下值:
- Java 8:1.8或8
- Java 9:9
- Java 10:10
- Java 11:11
- Java 12:12
因此,对于Java 11而言,应为:
<properties> <java.version>11</java.version></properties>
但是,我不确定Java 11是否为“ 1.11”(似乎不太可能),并且在使用maven-compiler-plugin时,我已经将其指定为“
11”,但是我没有使用编译器插件。
实际上,最后它仍然用于
maven-compiler-plugin编译。Springboot只是配置了一个
<java.version>属性,这样通过更改此值,您就隐式地将更改为
maven-compiler-plugin,
<source/>并将
<target/>其更改为与在
<java.version>:中指定的值相同的值:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.0</version> <configuration> <source>11</source> <!-- same as <java.version> --> <target>11</target> <!-- same as <java.version> --> </configuration></plugin>
详细答案:
好像您想要细节说服您。
这是因为每到spring启动项目将扩展父POM
spring-boot-starter-parent其定义
<java.version>如下:
<properties> <java.version>1.8</java.version> <maven.compiler.source>${java.version}</maven.compiler.source> <maven.compiler.target>${java.version}</maven.compiler.target></properties>
从Maven的编译器插件的文档,
maven.compiler.source并且
maven.compiler.target是用户属性的
<source>和
<target>配置参数。由于用户属性的行为,将这两个属性设置为
11意味着要设置以下内容:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.0</version> <configuration> <source>11</source> <!-- maven.compiler.source --> <target>11</target> <!-- maven.compiler.target --> </configuration></plugin>
再次从
maven-compiler-plugin文档中获取,
<source>并且
<target>是Java编译器()的
-sourceand
-target参数
javac。然后,从javac文档中,我们可以看到这两个参数允许具有以下值:
因此,
<java.version>应将其设置
11为Java 11。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)