I've recently set up an OSX machine and i have trouble getting Maven to pickup JAVA_HOME when running inside Eclipse.
I've done the following so far:
- Set JAVA_HOME in ~/.bash_profile with
export JAVA_HOME=$(/usr/libexec/java_home)
- Specify the VM for Eclipse inside eclipse.ini to
-vm /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/bin/java
- Set JAVA_HOME in
/etc/mavenrc
withecho JAVA_HOME=\
/usr/libexec/java_home -v 1.7` | sudo tee -a /etc/mavenrc`
Working from the CLI everything seems as expected. java -version
prints:
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
echo $JAVA_HOME
prints:
/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home
mvn -v
prints:
Apache Maven 3.1.1 (0728685237757ffbf44136acec0402957f723d9a; 2013-09-17 17:22:22+0200)
Maven home: /usr/local/Cellar/maven/3.1.1/libexec
Java version: 1.7.0_45, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.9", arch: "x86_64", family: "mac"
Running mvn install
inside a project from the CLI works as well. However doing the same from within Eclipse fails with the following:
Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.9.1:jar (attach-javadocs) on project suppress-warnings: MavenReportException: Error while creating archive: Unable to find javadoc command: The environment variable JAVA_HOME is not correctly set.
In Eclipse > Preferences > Java > Installed JREs
i'm seeing that JDK 7 with the same location as specified in JAVA_HOME
is set as default and also used for my project. Switching between the embedded Maven runtime or the external installation yields the same results.
Where or how do i have to set JAVA_HOME
so that a Maven process started from within Eclipse gets the right JAVA_HOME
location?