java - 虽然已正确安装Java并配置了JAVA_HOME,但Maven无法编译

标签 java maven compiler-errors compilation

编译Maven项目时出现以下错误:

    Warning: JAVA_HOME environment variable is not set.
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building traccar 4.3-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-checkstyle-plugin:3.0.0:check (checkstyle) @ traccar ---
[INFO]
[INFO] --- maven-enforcer-plugin:1.4.1:enforce (enforce-bytecode-version) @ trac                                                                                        car ---
[WARNING] Invalid bytecodeVersion for module-info.class: expected 52, but was 53
[WARNING] Invalid bytecodeVersion for module-info.class: expected 52, but was 53
[INFO]
[INFO] --- maven-resources-plugin:2.3:resources (default-resources) @ traccar ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.8.0:compile (default-compile) @ traccar ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 674 source files to /home/csl/traccar/traccar-master/target/classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8.471s
[INFO] Finished at: Thu Feb 14 14:35:38 BDT 2019
[INFO] Final Memory: 86M/582M

=>我正确安装了Java Home并安装了Maven,我已经上网冲浪了,发现很少的解决方案,但对我来说却无济于事!
:~$ echo $JAVA_HOME
/usr/lib/jvm/jdk1.7.0_75

:~$ which javac
/usr/lib/jvm/jdk1.7.0_75/bin/javac

:~$ mvn -v
Apache Maven 3.0.5
Maven home: /usr/share/maven
Java version: 1.7.0_75, vendor: Oracle Corporation
Java home: /usr/lib/jvm/jdk1.7.0_75/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.4.0-31-generic", arch: "amd64", family: "unix"

:~$ java -version
java version "1.7.0_181"
OpenJDK Runtime Environment (IcedTea 2.6.14) (7u181-2.6.14-0ubuntu0.3)
OpenJDK 64-Bit Server VM (build 24.181-b01, mixed mode)

s:~$ javac -version
javac 1.7.0_75
:~$

将不胜感激的解决方案。

谢谢

最佳答案

它在错误消息中指出,可能“您正在JRE而不是JDK上运行”。当您运行$mvn -v时,您会得到Java home: /usr/lib/jvm/jdk1.7.0_75/jre因此,您可以像本期(No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?)一样将其更改为JDK。

希望对您有所帮助。

关于java - 虽然已正确安装Java并配置了JAVA_HOME,但Maven无法编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54686428/

相关文章:

java - Java 中的 'SAM type' 是什么?

java - JUnit 类别不适用于 TestCase?

C 中函数的冲突类型

oracle - 我在这里不允许此错误ORA-00984列

java - svnkit:如何从 SVN DB 获取最新的修订号?

java - 如何使用循环(动态地)将 JsonObjects 添加到 javax.json.JsonArray

java - ConstraintLayout 指南百分比动画

java - 未捕获异常的原因?

java - Spark2.2.1 不兼容 Jackson 版本 2.8.8

node.js - 无法识别Jenkins powershell ng