Maven 错误:P您运行的是 JRE 而不是 JDK?

2022-08-31 13:13:31

我以前从未与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

答案 1

我一直面临着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

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


答案 2

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

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

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


推荐