为maven build设置Java版本
当我从shell脚本执行maven构建时,我试图为它设置java版本。出于某种原因,它没有获得预期的java版本。欢迎任何建议 我在linux centos 7操作系统上运行 我已经从Linux上下载了Java14 / x64),并将其提取到:为maven build设置Java版本,java,maven,Java,Maven,当我从shell脚本执行maven构建时,我试图为它设置java版本。出于某种原因,它没有获得预期的java版本。欢迎任何建议 我在linux centos 7操作系统上运行 我已经从Linux上下载了Java14 / x64),并将其提取到: /usr/lib/jvm/jdk-14.0.2 pom.xml <properties> <java.version>14</java.version> <maven.compiler.sour
/usr/lib/jvm/jdk-14.0.2
pom.xml
<properties>
<java.version>14</java.version>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
<maven.compiler.release>${java.version}</maven.compiler.release>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<jsk.version>2.2.3</jsk.version>
<start-class>com.nexct.approvalservice.NexctApprovalServiceApplication</start-class>
</properties>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<fork>true</fork>
</configuration>
</plugin>
输出:
/usr/lib/jvm/jdk-14.0.2
openjdk version "14.0.2" 2020-07-14
OpenJDK Runtime Environment (build 14.0.2+12-46)
OpenJDK 64-Bit Server VM (build 14.0.2+12-46, mixed mode, sharing)
maven build ...
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /opt/apache-maven-3.6.3
Java version: 1.7.0_161, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.161-2.6.12.0.el7_4.x86_64/jre
Default locale: en_US, platform encoding: ANSI_X3.4-1968
OS name: "linux", version: "3.10.0-957.21.3.el7.x86_64", arch: "amd64", family: "unix"
[INFO] BUILD FAILURE
Compilation failure
[ERROR] javac: invalid flag: -parameters
[ERROR] Usage: javac <options> <source files>
[ERROR] use -help for a list of possible options
/usr/lib/jvm/jdk-14.0.2
openjdk版本“14.0.2”2020-07-14
OpenJDK运行时环境(构建14.0.2+12-46)
OpenJDK 64位服务器虚拟机(构建14.0.2+12-46,混合模式,共享)
maven build。。。
Apache Maven 3.6.3(cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven主页:/opt/apache-Maven-3.6.3
Java版本:1.7.0_161,供应商:Oracle公司,运行时:/usr/lib/jvm/Java-1.7.0-openjdk-1.7.0.161-2.6.12.0.el7_4.x86_64/jre
默认区域设置:en_US,平台编码:ANSI_X3.4-1968
操作系统名称:“linux”,版本:“3.10.0-957.21.3.el7.x86_64”,arch:“amd64”,系列:“unix”
[信息]生成失败
编译失败
[错误]javac:无效标志:-参数
[错误]用法:javac
[错误]使用-help获取可能选项的列表
我找到了一个解决方案:
如果我设置了,它就会工作。Maven编译代码
<executable>/usr/lib/jvm/jdk-14.0.2/bin/javac</executable>
e、 g
org.apache.maven.plugins
maven编译器插件
${java.version}
${java.version}
${java.version}
${java.version}
真的
/usr/lib/jvm/jdk-14.0.2/bin/javac
请查看Hi@DhanukaPerera,谢谢您的评论。这是让我困惑的事情,我正在做那些答案所暗示的事情,但是maven没有使用Java14。我在pom中设置了JAVA_HOME,还设置了JAVA 14。您安装了其他版本的JAVA吗?在maven编译器插件配置中,尝试添加${JAVA.version}
@Lokesh我添加了${JAVA.version}
,但这没有什么区别。如果您有新问题,您应该提出新问题,而不是将其作为答案发布。
<executable>/usr/lib/jvm/jdk-14.0.2/bin/javac</executable>
<executable><$JAVA_HOME>/bin/javac</executable>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<release>${java.version}</release>
<source>${java.version}</source>
<target>${java.version}</target>
<compilerVersion>${java.version}</compilerVersion>
<fork>true</fork>
<executable>/usr/lib/jvm/jdk-14.0.2/bin/javac</executable>
</configuration>
</plugin>