Maven 错误:也许您在 JRE 而不是 JDK 上运行?

新手上路,请多包涵

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

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"

另外,我发现了 其他人面临的这个问题。但我不确定如何处理指定的解决方案?

进一步编辑。

 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

原文由 Kraken 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 381
2 个回答

显然,它需要我的 $JAVA_HOME 的 lib 文件夹中的 tools.jar 文件。我没有 lib 文件夹,所以我使用命令重新安装了我的 jdk

 apt-get install openjdk-7-jdk openjdk-7-doc openjdk-7-jre-lib

此外, 此链接可能会对某些人有所帮助。

原文由 Kraken 发布,翻译遵循 CC BY-SA 3.0 许可协议

我一直面临与 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 能够再次编译。

原文由 ced 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题