2010-06-03 70 views
2

在Windows XP谷歌应用程序引擎的Java - 错误运行的javac.exe编译

只是downloaed和解压的谷歌应用程序引擎Java SDK的
C:\ Program Files文件\ AppEngine上的Java-SDK

我有jdk安装在
C:\ Program Files \ Java \ jdk1.6.0_20。

我跑由
AppEngine上的Java-SDK \ BIN \ dev_appserver.cmd AppEngine上的Java-SDK \演示示例应用程序\留言板\战争

然后我走访本地主机:8080发现:
HTTP ERROR 500

访问/的问题。原因:

Error running javac.exe compiler 

引起:

错误在org.apache.tools.ant.taskdefs.compilers.DefaultCompilerAdapter.executeExternalCompile运行的javac.exe编译 (DefaultCompilerAdapter.java:473)

如何解决它?

我的JAVA_HOME指向C:\ Program Files \ Java \ jdk1.6.0_20。

我也试过chaning我appcfg.cmd到:

@ “C:\ Program Files文件\的Java \ jdk1.6.0_20 \ BIN \ java中” -cp “%〜DP0 .. \ lib \ appengine-tools-api.jar“com.google.appengine.tools.admin.AppCfg%*

它也不起作用。

+0

我尝试了使用Google App Engine的Eclipse插件的替代方法。 这就像一个魅力。 – dharm0us 2010-06-03 13:58:07

回答

1

通常,您希望JAVA_HOME指向您的jdk的安装目录,而不是您的appengine文件所在的目录。如果JAVA_HOME没有指向你的jdk,那么你有一个错误说java编译器找不到。

+0

嗨Peter, 感谢您抽出时间完整阅读问题:-) 我错误地输入了问题。编辑。 – dharm0us 2010-06-04 06:08:59

5

我得到了与我的Linux机器完全相同的错误。当我在eclipse中查看控制台输出时,发现这是一个权限错误。因此,我直接进入我的jdk目录并检查javac文件的权限。我看到只有root可以执行javac。我通过命令给组和其他人执行许可sudo chmod 555 javac然后,我再次尝试,并且它工作。

0

在我以前的评论中被误认为是错误的。为了使它在Windows7中工作,我必须将JAVA_HOME添加到我的PATH中。否则,它会使用一些其他的java/javac版本。

+0

这是从命令提示符运行时。对于Eclipse,您必须转到>窗口>首选项> Java>已安装的JRE>添加或检查JDK。而不只是指向JRE,而是指向JDK。 – 2010-10-12 14:28:21

1

我经历了和你一样的问题。简单的解决方案:让你的路径C:\ Program Files文件\的Java \ JDK(版本)\ BIN,而不仅仅是C:\ Program Files文件\的Java \ JDK(版本)\

重新启动您的IDE,它会像魅力!

(以前没有到放弃的你,一个对结果上typing-“的javac -version”关于CMD也将工作,对CMD的重启,包括正确的路径变量后)

0

首先我总是避免使用“程序文件”目录或名称中有空格的其他目录。
如果无法避免“Program Files”,则将其引用为“Progra〜1”或用明确的引号括起来,以消除目录名称中可能导致内部命令行解析器和脚本文件问题的空间。

其次,定义您的JAVA_HOME环境变量以指向您的jdk实例,例如set JAVA_HOME=C:\java\jdk\jdk1.6.0_20,然后将%JAVA_HOME%\ bin作为尽可能靠近您的类路径的前端,我经常将此目录放置在classpath,特别是在所有%SYSTEMROOT%目录条目之前。