Ionic Build无法在JAVA_HOME中找到JDK集,即使它是唯一的Java安装

当我安装Java JDK 1.8.x时,它最初正在工作,当我在关闭过夜后第二天重新启动时,我在构建时得到了这个:

$ ionic build android Updated the hooks directory to have execute permissions Running command: d:\installs\nodejs\node.exe d:\htdocs\publicworks\mobile\hooks\after_prepare\010_add_platform_class.js d:/htdocs/publicworks/mobile add to body class: platform-android Running command: d:\htdocs\publicworks\mobile\platforms\android\cordova\build.bat ANDROID_HOME=c:\Users\mtpultz\AppData\Local\Android\android-sdk JAVA_HOME=C:\Program Files\Java\jdk1.8.0_45\bin Running: d:\htdocs\publicworks\mobile\platforms\android\gradlew cdvBuildDebug -bd:\htdocs\publicworks\mobile\platforms\android\build.gradle -Dorg.gradle.daemon=true ERROR: JAVA_HOME is set to an invalid directory: C:\Program Files\Java\jdk1.8.0_45\bin Please set the JAVA_HOME variable in your environment to match the location of your Java installation. d:\htdocs\publicworks\mobile\platforms\android\cordova\node_modules\q\q.js:126 throw e; ^ Error code 1 for command: cmd with args: /s /c "d:\htdocs\publicworks\mobile\platforms\android\gradlew cdvBuildDebug -bd:\htdocs\publicworks\mobile\platforms\android\build.gradle -Dorg.gradle.daemon=true" 

但是Java绝对安装在这个目录中并且没有其他地方??? 在我的终端:

 java -version 

为我的JDK生成正确的输出:

 java version "1.8.0_45" Java(TM) SE Runtime Environment (build 1.8.0_45-b15) Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode) 

环境变量设置为:

JAVA_HOME =

 C:\Program Files\Java\jdk1.8.0_45\bin 

并且路径包含:

 D:\installs\nodejs; C:\Users\mtpultz\AppData\Roaming\npm; D:\installs\apache-ant\bin; C:\Users\mtpultz\AppData\Local\Android\android-sdk\tools; C:\Users\mtpultz\AppData\Local\Android\android-sdk\platform-tools; 

有什么建议么?

JAVA_HOME应该设置为java的主目录而不是bin。 所以替换这个:

 C:\Program Files\Java\jdk1.8.0_45\bin 

 C:\Program Files\Java\jdk1.8.0_45 

java/bin目录添加到PATH系统变量中以从任何地方运行java。

做一件事。 这会帮助你

从JAVA_HOME路径中删除“\ bin”。 意思是直到给出路径。

 C:\Program Files\Java\jdk1.8.0_45 

它会与你合作。

对于Linux用户:


$sudo gedit $HOME/.bashrc

写到最后

 #Android Path export ANDROID_HOME=${HOME}/Android/Sdk export PATH=${PATH}:${ANDROID_HOME}/platform-tools:${ANDROID_HOME}/tools export PATH #JAVA export JAVA_HOME=/usr/lib/jvm/java-8-oracle/ export JAVA_HOME 

$source ~/.bashrc

之后打开


$sudo gedit /etc/environment

并添加到最后

 JAVA_HOME="/usr/lib/jvm/java-8-oracle/" 

$source /etc/environment

确保使用Java SE SDK而不是Java EE SDK,它解决了我的问题。

浪费了3天后我终于得到了一些解决方案。 当你发现这些错误时,这些肯定是有效的。

1.Error:JAVA_HOME设置为无效目录

JAVA_HOME应该设置为java的主目录而不是bin。 所以替换这个:

C:\ Program Files \ Java \ jdk1.8.0_45 \ bin with

C:\ Program Files \ Java \ jdk1.8.0_45将java / bin目录添加到PATH系统变量中以便从任何地方运行java

  1. 无法安装’cordova-plugin-whitelist’:使用forcedroid命令行时出错

检查你的环境变量1.安卓平台工具2.安卓工具3. sdk位置4. git位置

  1. cordova – 错误:无法获取平台android

唯一的解决方案是

cordova平台添加android –nofetch

确保您的JAVA_HOME具有以下路径并安装JDK SE。

C:\ Program Files \ Java \ jdk1.8.0_131