2010-03-09 52 views
3

我正尝试在Windows中使用控制台上传我的GAE应用程序。我得到的错误:更改Java查找javac.exe的地方

cannot find javac executable based on java.home tried, "C:\Program Files\Java\jre6\bin\javac.exe" and "C:\Program Files\Java\bi n\javac.exe"

Unable to upload app: cannot find javac executable based on java.home, tried "C: \Program Files\Java\jre6\bin\javac.exe" and "C:\Program Files\Java\bin\javac.exe

的javac.exe位于C:\ Program Files文件\的Java \ jdk1.6.0_18 \ bin中我怎么告诉Java的多数民众赞成在它

+0

,保存您的JAVA_HOME变量包围引用java_home =“c:\ program files \ java \ jdk.1.6.0_18” – KevinDTimm 2010-03-09 19:07:31

+0

也许您正在使用脚本将JAVA_HOME设置为某个配置错误的位置,然后再启动... – 2010-03-09 19:54:29

回答

2

您是否安装了两个java版本?
从信息太阳jre和Open jdk? jre没有javac.exe,因此无法找到它。
尝试使用C:\ Program Files \ Java \ jdk1.6.0_18 \ bin \ java.exe而不是仅使用java来启动jar,如果这无助于添加-Djava.home =“C:\ Program Files \ Java \ jdk1.6.0_18“选项来调用。

2

错误信息,使很明显,查找是基于java.home,你有没有试过调整?

此输出看起来好像是来自某种脚本,可能有它自己定义的java.home,您需要更改它。

+0

java.home#java/lang/System%getProperty &(Ljava /郎/字符串;)Ljava /郎/字符串; <---这是在我从中运行脚本的jar文件。改变这条线是否安全,还是应该在其他地方改变它? – Lumpy 2010-03-09 18:58:21

0

将您的JAVA_HOME环境变量设置为C:\Program Files\Java\jdk1.6.0_18。请注意,此变量指向JDK位置,而不是(与PATH环境变量不同)指向可执行文件所在的路径。

5

您必须将JAVA_HOME环境变量设置为引用安装java的顶级文件夹。右键单击“我的电脑”,属性,高级,环境变量。如果有一个现有的JAVA_HOME变量,然后纠正它,这样它的值是

C:\Program Files\Java\jdk1.6.0_18 

如果没有存在的变量,然后使用“新建”按钮创建一个。是否为当前用户或系统完成是由您决定的。

+0

+1提供了有关如何设置变量的指导 – Dancrumb 2010-03-09 18:36:40

+0

我在C:\ Program Files \ Java \ jdk1.6.0_18中添加了java.home和JAVA_HOME,并且仍然收到相同的错误。这个值可以保存在其他地方 – Lumpy 2010-03-09 18:47:53

+0

看到我的答案在下面,它是可能的无论你正在运行的脚本有它自己的解释“java.home”,并没有使用环境变量 – 2010-03-09 18:49:13

1

您可以使用设置CLASSPATH做设置CLASSPATH变量的另一种方法= C:\ Program Files文件\的Java \ JRE6 \ BIN \的javac.exe在命令提示符\ jdk1.6.0_18,但它适用于单个会话。每次你需要设置变量。

+0

所以我应该设置java.home = classpath?或者设置java.home = C:\ Program Files \ Java \ jre6 \ bin \ javac.exe \ jdk1.6.0_18。既没有工作。 – Lumpy 2010-03-09 20:07:52

2

我发现这个问题的最简单的解决方案是在脚本文件中使用JAVA_HOME变量。

这是我的箱子的内容\ appcfg.cmd:

@"%JAVA_HOME%"\bin\java -cp "%~dp0\..\lib\appengine-tools-api.jar" com.google.appengine.tools.admin.AppCfg %* 

注意:您也应该检查是否JAVA_HOME指向现有的JDK在发布建议