当前位置: 首页 > 知识库问答 >
问题:

带Eclipse和Maven的OSX上的JAVA_主页

马淳
2023-03-14

我最近安装了一台OSX机器,在Eclipse中运行时,我很难让Maven将JAVA_带回家。

到目前为止,我已经完成了以下工作:

    bash_profile导出JAVA_HOME=$(/usr/libexec/java_home)
  1. 指定Eclipse的VMeclipse.ini-vm /Library/Java /JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/bin/java
  2. 设置JAVA_HOME/etc/mavenrcwithechoJAVA_HOME=\/usr/libexec/java_home-v 1.7'|sudo tet-a /etc/mavenrc'

从CLI工作,一切似乎都如预期的那样。

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\u 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安装也可以工作。但是,从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中

我必须在哪里或如何设置JAVA_HOME,以便从Eclipse内部启动的Maven进程获得正确的JAVA_HOME位置?


共有3个答案

督辉
2023-03-14

上面的作品不再在优胜美地图形应用程序!比如日蚀,或者任何从聚光灯开始的东西。bash_profile,launchd.conf仅适用于终端会话。)在启动eclipse之前,只需打开一个终端窗口,并给出以下命令:

launchctl setenv JAVA_HOME /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home

(使用您的安装路径!可能使用$(/usr/libexec/java_home)而不是完整路径。)

在这里查看关于永久解决方案的全部优秀文章:通过launchd设置环境变量。conf不再在OS X Yosemite中工作?

吕峰
2023-03-14

我无法评论Jeen Broekstra的回答,因为我是新手:-(

他的解决方案很好,只需要改进一点点。

/etc/launchd中。conf只需将指令

getenv JAVA_HOME

然后,在/etc/bashrc

export JAVA_HOME=`/usr/libexec/java_home`

然后,重新登录(没有必要重新启动;-)和Eclipse工作作为预期的w. r. t.梅文。

乐正瑞
2023-03-14

问题是在Mac OSX上,. bashrc中定义的环境变量。bash_profile仅导出到终端环境。像Eclipse这样的捆绑式GUI应用程序看不到它们,因此也看不到从Eclipse执行的任何运行配置。

解决方案是创建(如果不存在)或编辑文件/etc/launchd。conf并在其中添加以下行:

setenv JAVA_HOME /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home

当然,修改为您实际的JAVA_HOME值。(请注意,中常用的技巧。bash_profilewith$(/usr/libexec/java_home)launchd.conf-或在至少我不能让它工作)

完成此操作后,需要重新启动计算机。重新启动后,M2E Maven运行配置将能够看到JAVA\u HOME变量并正确执行。

编辑:有关我的答案的详细信息,请参见此答案:https://stackoverflow.com/a/23078977/451941

 类似资料:
  • 出于某种原因,Maven忽略了OSX上的JAVA_主页。 我最近从Java8Build11升级到Java8Build25,由于25中的错误修复,我删除了11。 我已经更新了: java和javac都报告了正确的版本: 是否正确: 当前JDK符号链接正确: 但Maven仍在努力达到1.8。0_11: 运行OSX小牛队。 你知道为什么Maven忽略了JAVA\u HOME?

  • 在过去的几个小时里,我一直试图解决这个问题,但我无处可去。我刚刚安装了Maven for Eclipse插件(我想是M2E),还有maven,mvn。我创建了一个非常简单的Hello World项目,并尝试使用java -jar pimidi-0.0.1-SNAPSHOT来运行构建的jar.jar 无论我尝试什么,我总是得到相同的错误:target/pimidi-0.0.1-SNAPSHOT.ja

  • 问题内容: 关于使用Maven和Eclipse创建Java Web应用程序,我有几个问题: 如何使用Maven创建带有servlet,jsp和其他类的Java Web项目? 它创建一个简单的目录结构,src-> main-> java。我在哪里以及如何放置web-inf文件夹? 我是否需要将jdbc-drivers手动添加到web-inf / lib内的文件夹中,还是可以指出依赖项? 有没有办法用

  • 我目前正试图在2014年年中的Macbook Pro上,在LWJGL 3中创建一个OpenGL 3.3上下文。我初始化窗口的源代码如下所示: 遗憾的是,GLFW无法为高于2.1的任何版本创建窗口,当忽略窗口提示时,版本glGetString(GL\U版本)返回<我通读了所有的“重复”问题,但正如你所见,我已经要求核心配置文件和转发兼容性。此外,我安装了XCode,拥有最新版本的操作系统。你们还有什

  • 所以我开始四处寻找,看起来苹果安装的Java现在是Java7,尽管所有的符号链接都指向一个名为a的文件夹(也就是Java7),但符号链接是1.4、1.5和1.6。所以我觉得eclipse被搞糊涂了。所以我决定放弃苹果的Java,转而使用甲骨文的。 所以我得到Oracle的,并将其安装到。但是,/usr/bin中的所有Apple java链接都指向Apple java。为了解决这个问题,我找到了这个

  • 我可以在我的web应用程序中连接到我的本地Postgres DB,但如果我在Docker容器中运行web应用程序,则无法连接。 在泊坞站容器内运行的 Web 应用 在主机中运行的 postgres 我不确定它是否与 Postgres 连接设置或与 Docker 网络设置相关。 遵循我的设置和命令: 主持人: < li>OSX 10.11.6 < li>PostgreSQL 9.6 码头集装箱 泊坞