我最近安装了一台OSX机器,在运行Eclipse时,我很难让Maven拾取JAVA_HOME。
到目前为止,我已经做了以下工作:
export JAVA_HOME=$(/usr/libexec/java_home)
-vm /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/bin/java
| sudo tee -a /etc/mavenrc
在/etc/mavenrc
中设置echo JAVA_HOME=\
从CLI开始工作,一切似乎都如期而至。java -version
打印:
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
打印:
/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home
mvn -v
打印:
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"
在来自CLI的项目中运行mvn install
也是有效的。但是,在Eclipse中执行相同的操作会失败,如下所示:
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.
在Eclipse > Preferences > Java > Installed JREs
中,我看到与JAVA_HOME
中指定的位置相同的JDK 7被设置为默认值,并且也用于我的项目。在嵌入式Maven运行时或外部安装之间切换会产生相同的结果。
我必须在哪里或如何设置JAVA_HOME
,以便从Eclipse内部启动的Maven进程获得正确的JAVA_HOME
位置?
发布于 2015-09-09 06:52:35
解决此问题的简单方法是将以下配置添加到pom.xml中
<javadocExecutable>${java.home}/../bin/javadoc</javadocExecutable>
完整代码:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9.1</version>
<configuration>
<show>private</show>
<nohelp>true</nohelp>
<aggregate>true</aggregate>
<charset>UTF-8</charset>
<encoding>UTF-8</encoding>
<docencoding>UTF-8</docencoding>
<javadocExecutable>${java.home}/../bin/javadoc</javadocExecutable>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>javadoc</goal>
</goals>
</execution>
</executions>
</plugin>
https://stackoverflow.com/questions/20313453
复制相似问题