Maven错误:也许你正在使用JRE而不是JDK?

26 浏览
0 Comments

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

admin 更改状态以发布 2023年5月21日
0
0 Comments

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

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

另外,这个链接可能对一些人有帮助。

0
0 Comments

我在使用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可以再次编译。

0