编译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/