Tai*_*Tai 5 java macos bash .bash-profile maven
======编辑2:
我在编辑1中使用了与下面提到的相同的代码,我的错误显然不在代码本身,而是由于源〜/ .bash_profile未按预期更新我的文件.不过我想(谢谢你@eckes)请看maven bug :( BTW:jira.codehaus.org/browse/MNG-5686 - eckes 39秒前)
编辑1:这不是重复:我应该在OSX上设置JAVA_HOME
我已经尝试了上面提到的所有解决方案,但它们对我不起作用.我的问题是我正在做其中列出的解决方案之一(我尝试了其他解决方案).我仍然得到错误.
我正按照上述说明尝试:
export JAVA_HOME=$(/usr/libexec/java_home)
Run Code Online (Sandbox Code Playgroud)
得到:
source ~/.bash_profile
mvn -version
Error: JAVA_HOME is not defined correctly.
We cannot execute /usr/libexec/java_home/bin/java
Run Code Online (Sandbox Code Playgroud)
=======我从oracle安装了最新的java jdk
java -version
java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode)
Run Code Online (Sandbox Code Playgroud)
我安装了Xcode来安装maven但是最近的文档声明我可以使用brew(Mac OS X上的Maven Install)
我安装了maven:
//install brew
brew doctor
brew install maven
Run Code Online (Sandbox Code Playgroud)
然后我尝试了:
mvn -version
Error: JAVA_HOME is not defined correctly.
Run Code Online (Sandbox Code Playgroud)
我发现:http://hathaway.cc/post/69201163472/how-to-edit-your-path-environment-variables-on-mac
不过这是基于java 7我相信的.但它似乎可能是一个修复.
新mac上没有bash_profile(https://apple.stackexchange.com/questions/26928/no-bash-profile-in-os-x-lion)
所以我创建并编辑了我的bash_profile:
touch ~/.bash_profile
vim ~/.bash_profile
//and added the line export JAVA_HOME=(/usr/libexec/java_home)
Run Code Online (Sandbox Code Playgroud)
我的问题是即使使用此修复程序,我仍然会收到以下错误:
mvn -version
Error: JAVA_HOME is not defined correctly.
We cannot execute /usr/libexec/java_home/bin/java
Run Code Online (Sandbox Code Playgroud)
我检查了在我的文件系统中java_home是文件所在的位置.我的文件系统中没有"/ usr/libexec/java_home/bin/java"作为maven错误.
有没有其他人遇到过这个新的java 8,并且brew安装了maven?我正在使用运行Yosemite的MacBook Pro(Retina,13英寸,2014年中).我以前安装过这样的设置,但从未遇到过这个问题.
**注意:
我发现了这个:http://www.mkyong.com/java/maven-java_home-is-not-defined-correctly-on-mac-osx/
我认为这肯定是我的修复.如果我错了,请纠正我,但我相信差异是括号.
例如:
export JAVA_HOME=/usr/libexec/java_home
Run Code Online (Sandbox Code Playgroud)
VS
export JAVA_HOME=(/usr/libexec/java_home)
Run Code Online (Sandbox Code Playgroud)
但是我的错误还没有解决.(也是为了以防万一有人在重新运行之前要求我(它)来源.)但它确实改变了我的错误.它删除了额外的/ bin/java.
mvn -version
Error: JAVA_HOME is not defined correctly.
We cannot execute /usr/libexec/java_home/bin/java
Run Code Online (Sandbox Code Playgroud)
JAVA_HOME:
echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)
**注意我尝试了$()语法,但这并没有解决问题.
Rea*_*tic 28
你错过了一件小事,我相信:
export JAVA_HOME=$(/usr/libexec/java_home)
??
This dollar sign
这告诉shell"此表达式的值是执行以下命令(/usr/libexec/java_home))的输出"
运行该命令为mac提供了正确的java主目录(如果安装了单个JDK),并且该值放在JAVA_HOME中.没有美元符号,它只是将命令的名称放在那里.
| 归档时间: |
|
| 查看次数: |
13812 次 |
| 最近记录: |