【问题标题】:Google App Engine with Java - Error running javac.exe compiler带有 Java 的 Google App Engine - 运行 javac.exe 编译器时出错
【发布时间】:2010-06-03 09:36:58
【问题描述】:

在 Windows XP 上

刚刚下载并解压google app engine 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\demos\guestbook\war 运行示例应用程序

然后我访问了 localhost:8080 找到:
HTTP 错误 500

访问 / 时出现问题。原因:

Error running javac.exe compiler

原因:

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

如何解决?

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

我也尝试将我的 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 %*

它也没有工作。

【问题讨论】:

  • 我尝试了使用 Google App Engine 的 Eclipse 插件的替代方法。这就像一个魅力。

标签: java google-app-engine


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 嗨,彼得,感谢您抽出时间完整阅读问题 :-) 我打错了问题。已编辑。
    【解决方案3】:

    我遇到了和你一样的问题。简单的解决方案:使您的路径 C:\Program Files\Java\jdk(version)\bin 而不仅仅是 C:\Program Files\Java\jdk(version)\

    重新启动您的 IDE,它会像魅力一样工作!

    (在包含正确路径变量后重新启动 cmd 时,CMD 上的先前未能给你一个结果的打字-“javac -version”也将起作用)

    【讨论】:

      【解决方案4】:

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

      【讨论】:

      • 这是从命令提示符运行时。对于 Eclipse,您必须转到 > Window > Preferences > Java > Installed JREs > Add or check JDK。不仅指向 JRE,还指向 JDK。
      【解决方案5】:

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

      其次,定义你的 JAVA_HOME 环境变量指向你的 jdk 实例例如set JAVA_HOME=C:\java\jdk\jdk1.6.0_20,然后将 %JAVA_HOME%\bin 尽可能靠近你的类路径的前面,我经常把这个目录放在前面类路径,尤其是在所有 %SYSTEMROOT% 目录条目之前。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-05-10
        • 1970-01-01
        • 2023-04-07
        • 1970-01-01
        • 1970-01-01
        • 2012-01-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多