Maven错误:也许你正在使用JRE而不是JDK?
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日
显然,我需要将tools.jar文件放在$JAVA_HOME下的lib文件夹中。但是我没有lib文件夹,所以我使用命令重新安装了我的jdk。
apt-get install openjdk-7-jdk openjdk-7-doc openjdk-7-jre-lib
我在使用java 8 (ubuntu 16.04)和mvn
命令行编译时遇到相同问题。
我核实过我的$JAVA_HOME
、java -version
和mvn -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可以再次编译。