Maven error :Perhaps you are running on a JRE rath

2019-01-10 13:54发布

I've never worked with Maven before and I am following the instructions here. When I run the command

mvn integration-test -Pamp-to-war

It initially downloaded a whole bunch of dependencies, and in the end it showed,

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

I am on ubuntu 13.04.

If there's anything you want me to tell you, let me know. Thanks.

EDIT

When I do echo $JAVA_HOME I get /usr/lib/jvm/java-7-openjdk-i386/

When I do mvn -version

I get,

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"

Also, I found out this problem faced by someone else. But I am not sure how to go about the solution that is specified?

Further edits.

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

13条回答
兄弟一词,经得起流年.
2楼-- · 2019-01-10 14:35

Just adding more details on where to setup. Main reason would be the JAVA_HOME setup in the environment variable should be pointing to correct JDK location.

  1. Check System -> Advance System Settings
  2. Click on Environment variable
  3. Add variable JAVA_HOME -> "C:\Program Files\Java\jdk1.8.0_141;"
  4. Edit "path" -> append %JAVA_HOME%; to the existing text.
查看更多
ら.Afraid
3楼-- · 2019-01-10 14:36

I've been facing the same issue with java 8 (ubuntu 16.04), trying to compile using mvn command line.

I verified my $JAVA_HOME, java -version and mvn -version. Everything seems to be okay pointing to /usr/lib/jvm/java-8-openjdk-amd64.

It appears that java-8-openjdk-amd64 is not completly installed by default and only contains the JRE (despite its name "jdk").

Re-installing the JDK did the trick.

sudo apt-get install openjdk-8-jdk

Then some new files and new folders are added to /usr/lib/jvm/java-8-openjdk-amd64 and mvn is able to compile again.

查看更多
手持菜刀,她持情操
4楼-- · 2019-01-10 14:40

Apparently, it requires tools.jar file inside the lib folder of my $JAVA_HOME. I did not have the lib folder, so I reinstalled my jdk using command

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

Also, this link may help some people.

查看更多
对你真心纯属浪费
5楼-- · 2019-01-10 14:42

I faced the issue even though JAVA_HOME was pointing to JDK. It took time to figure out why it was throwing the exception.

The issue was I set JAVA_HOME as admin user on my window machine. You need to add JAVA_HOME environment variable pointing to right JDK to your user profile environment variable settings.

查看更多
走好不送
6楼-- · 2019-01-10 14:43

Right click on your project folder (Maven one), select properties and from the properties window, again select Java Compiler and see what is selected against compiler compliance level and make sure that it is the same version as your jre. In my case I had 1.8 but 1.5 was selected against compiler compliance level. After selecting 1.8 the build was successful without this error.

查看更多
兄弟一词,经得起流年.
7楼-- · 2019-01-10 14:44

For solving my issue on Linux don't have a JDK, I just download the JDK and upload to the Linux server, and type: tar xvf jdk-8u45-linux-x64.tar.gz

查看更多
登录 后发表回答