jenv: Problem with jenv and maven plugin

I have set different Java version for my project. I’m building it using maven. I’ve enabled maven plugin in jenv but I have some troubles after rebooting machine. It sees that maven plugin is enabled but it causes maven to use wrong Java. I have to disable plugin and enable it again to work (see attached fragment from my terminal).

I’m using: homebrew - 0.9.5 jenv - 0.4.0 maven - 3.0.5

Additionaly I have: zsh + oh_my_zsh

➜  lp-base git:(develop) jenv enable-plugin maven
maven plugin already enabled
➜  lp-base git:(develop) jenv info java
Jenv will exec : /Users/kamilberdychowski/.jenv/versions/1.7/bin/java
Exported variables :
  JAVA_HOME=/Users/kamilberdychowski/.jenv/versions/1.7
➜  lp-base git:(develop) mvn --version
Picked up _JAVA_OPTIONS: -Dapple.awt.UIElement=true
Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 14:51:28+0100)
Maven home: /usr/local/Cellar/maven30/3.0.5/libexec
Java version: 1.8.0_25, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.10.1", arch: "x86_64", family: "mac"
➜  lp-base git:(develop) jenv disable-plugin maven
maven disabled
➜  lp-base git:(develop) jenv enable-plugin maven
maven plugin activated
➜  lp-base git:(develop) jenv info java
Jenv will exec : /Users/kamilberdychowski/.jenv/versions/1.7/bin/java
Exported variables :
  JAVA_HOME=/Users/kamilberdychowski/.jenv/versions/1.7
➜  lp-base git:(develop) mvn --version
Picked up _JAVA_OPTIONS: -Dapple.awt.UIElement=true
Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 14:51:28+0100)
Maven home: /usr/local/Cellar/maven30/3.0.5/libexec
Java version: 1.7.0_71, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.10.1", arch: "x86_64", family: "mac"

About this issue

Most upvoted comments

I had the same problem and found a workaround by setting JAVA_HOME in ~/.mavenrc like this

JAVA_HOME=$(/usr/libexec/java_home -v $(jenv version-name))
$ pwd
/tmp/test-1.8
$ jenv local
1.8
$ mvn -v
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=512m; support was removed in 8.0
Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T04:57:37-07:00)
Maven home: /usr/local/Cellar/maven/3.3.3/libexec
Java version: 1.8.0_51, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.9.5", arch: "x86_64", family: "mac"
$ pwd
/tmp/test-1.7
$ jenv local
1.7
$ mvn -v
Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T04:57:37-07:00)
Maven home: /usr/local/Cellar/maven/3.3.3/libexec
Java version: 1.7.0_79, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.9.5", arch: "x86_64", family: "mac"

I had this error after updating jenv. I ran the following 2 commands to get everything happy. jenv disable-plugin export && jenv enable-plugin export jenv disable-plugin maven && jenv enable-plugin maven

I had the same problem, for me the issue turned out to be the file /etc/mavenrc which resets JAVA_HOME back to 1.7:

JAVA_HOME=`/usr/libexec/java_home -v 1.7`

I manually changed it to

JAVA_HOME=`/usr/libexec/java_home -v 1.8`

And that resolved the issue.

@gaetanlebrun : Instead, I removed JAVA_HOME from ~/.mavenrc and everything is working fine. Thanks for pointing that file 👍

Could you provide output of ‘jenv doctor’ ?