【问题标题】:Ionic Build can't find JDK set in JAVA_HOME even though it is the only Java installIonic Build 找不到在 JAVA_HOME 中设置的 JDK,即使它是唯一的 Java 安装
【发布时间】:2015-08-10 09:37:50
【问题描述】:

当我安装 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"

但是 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;

有什么建议吗?

【问题讨论】:

  • 您是否也更新了 Android Sdk??

标签: java android cordova ionic-framework


【解决方案1】:

做一件事。这将对您有所帮助

从您的 JAVA_HOME 路径中删除“\bin”。意味着只给出路径直到。

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

它会和你一起工作。

【讨论】:

    【解决方案2】:

    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。

    【讨论】:

      【解决方案3】:

      确保您使用 Java SE SDK 而不是 Java EE SDK,这为我解决了问题。

      【讨论】:

        【解决方案4】:

        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

        【讨论】:

          【解决方案5】:

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

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

          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

          1. 无法安装“cordova-plugin-whitelist”:使用强制机器人命令行时出错

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

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

          唯一的解决办法是

          cordova 平台添加 android --nofetch

          【讨论】:

            【解决方案6】:

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

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

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2013-02-26
              • 2014-05-14
              • 2016-04-12
              • 1970-01-01
              • 2019-02-27
              • 2018-11-09
              • 1970-01-01
              相关资源
              最近更新 更多