Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为maven build设置Java版本_Java_Maven - Fatal编程技术网

为maven build设置Java版本

为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

当我从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.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>