在mac os中更改JAVA_HOME变量以获取离子

时间:2018-02-13 18:11:37

标签: java node.js cordova ionic-framework ionic3

我通过使用以下命令设置JAVA_HOME

进行了更改
rajendras-mbp:demo username$ /usr/libexec/java_home 
/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home
rajendras-mbp:demo username$ export JAVA_HOME="`/usr/libexec/java_home -v '1.8*'`"
rajendras-mbp:demo username$ java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

当我检查java版本

时设置JDK 1.8

但是在我点击ionic cordova run android之后它会抛出错误

ANDROID_HOME=/Users/username/Library/Android/sdk
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home
(node:2191) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): CordovaError: Requirements check failed for JDK 1.8 or greater
(node:2191) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
[23:27:26]  lint finished in 3.77 s 

要改变什么?如何将1.8 JDK设置为离子?

2 个答案:

答案 0 :(得分:1)

我知道这是一个老问题,但是我想分享一下我如何解决此问题,以防将来可能对其他人有所帮助。

我同时拥有Java 1.8和最新的14.0.2。

我在Mac OS上通过将java_home版本设置为1.8解决了此问题

  # Create a JAVA_HOME variable, determined dynamically
  export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
  # Add that to the global PATH variable
  export PATH=${JAVA_HOME}/bin:$PATH

然后source ~/.bash_profilejava -version

输出: java version "1.8.0_271"

答案 1 :(得分:0)

为您的USER添加以下内容〜/ .profile和〜/ .bashrc(/ etc / bashrc,然后〜/ .bashrc):

export IDEA_SDK=$(/usr/libexec/java_home -v 1.8)