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

mtp*_*ltz 6 java android cordova ionic-framework

当我安装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 -b d:\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 -b d:\htdocs\publicworks\mobile\platforms\android\build.gradle -Dorg.gradle.daemon=true"
Run Code Online (Sandbox Code Playgroud)

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

java -version
Run Code Online (Sandbox Code Playgroud)

为我的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)
Run Code Online (Sandbox Code Playgroud)

环境变量设置为:

JAVA_HOME =

C:\Program Files\Java\jdk1.8.0_45\bin
Run Code Online (Sandbox Code Playgroud)

并且路径包含:

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;
Run Code Online (Sandbox Code Playgroud)

有什么建议?

Jun*_*san 18

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

C:\Program Files\Java\jdk1.8.0_45\bin
Run Code Online (Sandbox Code Playgroud)

同

C:\Program Files\Java\jdk1.8.0_45
Run Code Online (Sandbox Code Playgroud)

java/bindir被添加到PATH系统变量中以从任何地方运行java.