java - Maven 错误 :Perhaps you are running on a JRE rather than a JDK?

标签 java maven compiler-errors

我以前从未使用过 Maven,我正在按照说明进行操作 here.当我运行命令时

mvn integration-test -Pamp-to-war

它最初下载了一大堆依赖项,最后显示,

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

我在 ubuntu 13.04 上。

如果你有什么想让我告诉你的,请告诉我。谢谢。

编辑

当我执行 echo $JAVA_HOME 时,我得到 /usr/lib/jvm/java-7-openjdk-i386/

当我执行 mvn -version

我明白了,

Apache Maven 3.0.4
Maven home: /usr/share/maven
Java version: 1.7.0_25, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-7-openjdk-i386/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.8.0-26-generic", arch: "i386", family: "unix"

另外,我发现了this problem faced by someone else .但我不确定如何处理指定的解决方案?

进一步编辑。

kraken@kraken-Inspiron-1545:/usr/lib/jvm/java-7-openjdk-i386$ ls -l
total 12
drwxr-xr-x 2 root root 4096 Sep  9 10:44 bin
lrwxrwxrwx 1 root root   41 Jul  4  2013 docs -> ../../../share/doc/openjdk-7-jre-    headless
drwxr-xr-x 5 root root 4096 Oct 13  2013 jre
drwxr-xr-x 4 root root 4096 Oct 13  2013 man

最佳答案

我一直面临与 java 8 (ubuntu 16.04) 相同的问题,尝试使用 mvn 命令行进行编译。

我验证了我的 $JAVA_HOMEjava -versionmvn -version。指向 /usr/lib/jvm/java-8-openjdk-amd64 似乎一切正常。

默认情况下,java-8-openjdk-amd64 似乎未完全安装,仅包含 JRE(尽管其名称为“jdk”)。

重新安装 JDK 即可。

sudo apt-get install openjdk-8-jdk

然后将一些新文件和新文件夹添加到/usr/lib/jvm/java-8-openjdk-amd64 并且mvn能够再次编译。

关于java - Maven 错误 :Perhaps you are running on a JRE rather than a JDK?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51007537/

相关文章:

java - 如何使用 Maven 在 jar 子文件夹中创建具有依赖项的可执行 jar?

java - Maven jar 依赖项显示在 `Maven Dependencies` View 之外

java - 从ScheduledExecutorService示例用法获取编译错误

java - 从集合中查找 2d 中点之间的最短路线

java - Android 位置始终为空

java - 如何显示整数列表并显示总成本

java - 计算lucene中的匹配字符串百分比

maven - 设置 Maven 以允许轻松部署到不同的存储库

c - 我试图将 return 放在代码末尾,但他们总是在 return 之前用 while 搞乱我

java - maven 构建错误 : package org. apache.http 不存在