【问题标题】:PhoneGap/Cordova "javac -version" not found.未找到 PhoneGap/Cordova“javac -version”。
【发布时间】:2014-11-07 12:46:37
【问题描述】:

我已将我的 Mac 更新为 Yosimite。我还安装了 JDK 1.8x。但是,当我去phonegap run android 时,我得到以下信息:

[phonegap] detecting Android SDK environment...
[phonegap] using the local environment
[phonegap] adding the Android platform...

/Users/profile/.cordova/lib/npm_cache/cordova-android/3.6.3/package/bin/node_modules/q/q.js:126
                    throw e;
                          ^
Error: Failed to run "javac -version", make sure you have a Java JDK (not just a JRE) installed.
    at /Users/profile/.cordova/lib/npm_cache/cordova-android/3.6.3/package/bin/lib/check_reqs.js:43:27
    at ChildProcess.exithandler (child_process.js:641:7)
    at ChildProcess.EventEmitter.emit (events.js:98:17)
    at maybeClose (child_process.js:735:16)
    at Socket.<anonymous> (child_process.js:948:11)
    at Socket.EventEmitter.emit (events.js:95:17)
    at Pipe.close (net.js:466:12)
{ [Error: /Users/profile/.cordova/lib/npm_cache/cordova-android/3.6.3/package/bin/create: Command failed with exit code 8] code: 8 }
   [error] /Users/profile/.cordova/lib/npm_cache/cordova-android/3.6.3/package/bin/create: Command failed with exit code 8

我已经设置了我的$JAVA_HOME,当我设置javac -version 时,我得到了javac 1.8.0_25。一切似乎都很好。

我唯一能想到的是 phonegap 是在运行时改变路径

【问题讨论】:

  • @Sentenia - 你成功了吗?我的 %JAVA_HOME% 设置正确,我可以在该目录中看到 javac.exe - 所以我有点困惑为什么它没有出现: /
  • 不太清楚为什么会这样,但是您是否尝试过在 shell 中回显路径变量(命令提示符)。例如echo %JAVA_HOME% 是否吐出正确的东西。此外,即使您的 %JAVA_HOME% 已设置,您仍然需要确保实际的 %PATH% 系统变量包含 Java 目录以及您正在使用的 Java 版本的 ./bin 目录。
  • 原来我需要重新启动机器 :) 我推迟了这样做,因为我有一些大的下载。我最终咬紧牙关并重新启动 - 现在工作正常。现在还有很多其他问题要解决 phonegap :S

标签: java android cordova


【解决方案1】:

好的,

所以出于某种原因,Java 1.7 和 1.8 不想表现得很好,不管我给了多少鼓励。我要做的是下载 Java 1.6 并使用它。尽管您无法从 Java 下载站点获得它,但它的问题。相反,您必须从 Apple 获得它。你可以在这里得到这个

http://support.apple.com/kb/DL1572

这与 OSX 2013-005 中包含的 Java 版本相同。下载此文件后,您现在将拥有多个 Java 版本。 Apple 的 Java 1.6 版本与 Oracle 的版本不同。 Apple One 被放置在系统库中。这意味着您必须将JAVA_HOME var 更改为此系统之一。一旦我这样做了,它就完成了。

这就是我设置路径的方式:

export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
export PATH=$PATH:$JAVA_HOME
export PATH=$PATH:$JAVA_HOME/bin

我不知道为什么我不能让 Java 1.7 和 1.8 工作,但这是唯一为我解决了这个问题。

【讨论】:

    猜你喜欢
    • 2014-12-12
    • 2021-04-24
    • 1970-01-01
    • 1970-01-01
    • 2015-07-14
    • 1970-01-01
    • 2018-09-05
    • 1970-01-01
    相关资源
    最近更新 更多