我目前在我的本地机器中使用jdk版本为11,使用JAVA_HOME设置。
我需要运行一个java_version为9的maven项目。要进行同样的操作,请参考https://www.baeldung.com/maven-java-version
这是我的pom.xml文件
<properties>
<java.version>8</java.version>
<maven.compiler.plugin.version>3.8.0</maven.compiler.plugin.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven.compiler.plugin.version}</version>
<configuration>
<release>8</release>
</configuration>
</plugin>
</plugins>
</build>
然后,我运行命令“mvn clean install”,生成的jar文件在其清单文件中的java-version为11。下面是带装饰的jar的清单文件的片段
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven 3.5.0
Built-By: test
Build-Jdk: 11.0.2
为什么它仍然选择java版本为11,为什么不选择8?
在POM
部分中设置Java.version
不会更改用于使用maven-compiler-plugin
进行编译的Java版本。Spring Boot使用它(请参见在maven中指定java版本-属性和编译器插件之间的差异以了解相关讨论)。
您的构建仍然使用机器上安装的JDK11(这由清单属性build-jdk:11.0.2
反映),但是,您的代码实际上是用Java 8的源代码和目标编译的。JDK11知道如何针对早期版本(如JDK8)进行编译,因此您的构建工作正常。
在我的机器上,我安装了两个Java版本:(我手动安装的1.6和1.7)。我需要他们两个为不同的项目。但对于Maven,我需要1.7,但我的Maven使用的是1.6 Java版本。
由于某种原因,maven在构建我的项目时自动选择java编译器1.5,尽管我安装了JDK1.8 步骤1 ,然后选择“工作区默认JRE(JDK1.8.0_102)”。 我在那个窗口中注意到的是:只有J2SE-1.x,其中x<=5 步骤3 然后转到`Project->Java Compiler,在这里我发现编译器遵从性级别设置为1.5(参见屏幕截图)。因此我将“编译器遵从级别更改为1.8”
我已经搜索了几种在Mac上更改JDK版本的方法。 我得到了 我如何在我的Mac上改变java版本。
问题内容: 我正在尝试在Android Studio中使用Java版本1.7,但是很遗憾,它无法正常工作…如果将版本设置为 但是,当我使用带有字符串的声明语句时,出现了在Java 1.7中应该发生的错误,因此我是否需要设置其他设置? 问题答案: 不,没有设置可更改。Android SDK不支持完整的Java 7语法,因此您不能使用它。 请注意,最新的android版本支持java.nio。*(ja
我试图按照上一个答案中的建议设置和变量,但没有结果。
我有一个多模块项目,所有模块都有一个公共的父pom和一个聚合器/构建pom。我试图使用maven版本插件来更新/设置我所有模块的版本,但它一直跳过子模块。 项目布局:-通用/pom.xml(build pom)-通用/Superpom/pom.xml(父pom)-模块1/pom.xml(模块1 pom)-模块2/pom.xml(模块2 pom) 普通/聚甲醛。xml: 我尝试将插件添加到构建pom