我试图在我的MAC OS X 10.11(El Capitan)上运行JAVA应用程序.
我使用此链接在我的MAC OS X 10.11上设置JAVA_HOME.
我能够运行以下命令:
java -version
which java
然而,当我去MAC上的终端应用程序并输入echo $ JAVA_HOME时,我什么也看不见.这是为什么?这是否意味着我的JAVA_HOME设置不正确?
试图让Maven,Java和OS X一起玩得很好 - 我在Linux和Windows机器上多次没有遇到过问题.我假设我需要做的就是下载Maven,设置我的环境变量,我会很好.所以这是我的.bash_profile的一个片段......
export JAVA_HOME=/Library/Java/Home/
export M2_HOME=/usr/local/apache-maven/apache-maven-2.2.1
export PATH=$PATH:$M2_HOME/bin
Run Code Online (Sandbox Code Playgroud)
该JAVA_HOME设置是Apple建议在此问答页面上使用的设置.然而,在启动终端并运行之后mvn --version,这是输出......
Apache Maven 2.2.1 (r801777; 2009-08-06 15:16:01-0400)
Java version: 1.6.0_17
Java home: /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home
Default locale: en_US, platform encoding: MacRoman
OS name: "mac os x" version: "10.6.2" arch: "x86_64" Family: "mac"
Run Code Online (Sandbox Code Playgroud)
知道JAVA_HOME我为什么设置我的.bash_profile被Maven忽略了吗?它导致了问题,因为rt.jar在JAVA_HOMEMaven中找不到的东西正在使用.我可以通过在Maven正在使用的家中创建符号链接和其他hackery来解决这个问题,但我宁愿让它正常工作,因为这会在下次Apple推送Java更新时爆炸.谢谢你的帮助...
我知道这个问题之前已被问过很多但是我确实已经阅读了,我会告诉你我得到了什么.
我将列出我在OS X Yosemite 10.10.1中执行的命令
java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
Run Code Online (Sandbox Code Playgroud)
java -fullversion
java full version "1.8.0_45-b14"
Run Code Online (Sandbox Code Playgroud)
哪个java
/usr/bin/java
Run Code Online (Sandbox Code Playgroud)
没有设置Java home变量,因为当我这样做时:echo $ java_home或echo $ JAVA_HOME或echo $ Java_Home终端上什么都没有.
这样做:ls -l which java 我得到了这个:
8 lrwxr-xr-x 1 root wheel 74 Nov 12 2014 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
Run Code Online (Sandbox Code Playgroud)
javac -version
javac 1.8.0_45
Run Code Online (Sandbox Code Playgroud)
的/ usr /的libexec/JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)
echo "export JAVA_HOME=`/usr/libexec/java_home`" >> ~/.profile …Run Code Online (Sandbox Code Playgroud) 我面临Android N布局XML预览的问题.它显示以下消息:
"Android N要求IDE使用Java 1.8或更高版本运行"
我也在我的操作系统中安装了JAVA 1.8.
还使用Java 1.8更改项目JDK位置.
但是当我看到帮助 - >关于android studio它总是显示1.7.
我怎么能改变它.
我是Mac上的新手,所以我安装了Cordova(Node,Git,Grandle)但是我无法在我的手机中执行它,我的意思是我不能做"sudo Cordova运行android",因为它找不到" JAVA_HOME".当我安装之前我把这个变量放在......之前(很头疼)
我试图打开bash_profile但我没有找到它,如果我在终端打开它总是打开一个新文件.
如果我回显$ JAVA_HOME,那就是结果:
echo $JAVA_HOME
Run Code Online (Sandbox Code Playgroud)
的/ usr /的libexec/JAVA_HOME
这是我的错误:
sudo cordova run android --target=ZY223T38PM
Run Code Online (Sandbox Code Playgroud)
(node:1369)UnhandledPromiseRejectionWarning:CordovaError:无法找到'JAVA_HOME'环境变量.尝试手动设置.在/Users/tonitorres/Dropbox/HardwareHome/hardwareHome/platforms/android/cordova/lib/check_reqs.js:185:35在_rejected(/ Users/tonitorres/Dropbox/HardwareHome/hardwareHome/platforms/android/cordova/node_modules/q /q.js:864:24)在Promise.when的/Users/tonitorres/Dropbox/HardwareHome/hardwareHome/platforms/android/cordova/node_modules/q/q.js:890:30(/ Users/tonitorres/Dropbox /在Promise.promise.promiseDispatch(/ Users/tonitorres/Dropbox/HardwareHome/hardwareHome/platforms/android/cordova/node_modules/q /)中的HardwareHome/hardwareHome/platforms/android/cordova/node_modules/q/q.js:1142:31) q.js:808:41)在/Users/tonitorres/Dropbox/HardwareHome/hardwareHome/platforms/android/cordova/node_modules/q/q.js:624:44在runSingle(/ Users/tonitorres/Dropbox/HardwareHome/hardwareHome) /platforms/android/cordova/node_modules/q/q.js:137:13)在flush(/Users/tonitorres/Dropbox/HardwareHome/hardwareHome/platforms/android/cordova/node_modules/q/q.js:125:13 )_combinedTickCallback(internal/process/next_tick.js:131:7)at process._tickCallback(internal/process/next_tick.js:180:9)(node:1369)UnhandledPromiseRejectionWarning:未处理的承诺拒绝.这个错误源于在没有catch块的情况下抛出异步函数,或者拒绝未使用.catch()处理的promise.(拒绝ID:1)(节点:1369)[DEP0018]弃用警告:不推荐使用未处理的拒绝承诺.将来,未处理的承诺拒绝将使用非零退出代码终止Node.js进程.
======编辑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 …