[英]Google App Engine example - error (Java version problem?)
我已按照说明安装 Google App Engine SDK Eclipse 插件:
http://code.google.com/appengine/docs/java/gettingstarted/installing.html http://code.google.com/theGoogleDowns/downloadPluws
然后我按照说明创建了一个新项目:
http://code.google.com/appengine/docs/java/tools/eclipse.html#Creating_a_Project
但是,当我尝试在 Eclipse 中调试或运行他的项目时,我收到以下错误:
Exception in thread "main" java.lang.NoSuchMethodError: java.util.Collections.newSetFromMap(Ljava/util/Map;)Ljava/util/Set;
at com.google.appengine.tools.development.LocalEnvironment.<init>(LocalEnvironment.java:63)
at com.google.appengine.tools.development.AbstractContainerService$LocalInitializationEnvironment.<init>(AbstractContainerService.java:538)
at com.google.appengine.tools.development.AbstractContainerService.loadAppEngineWebXml(AbstractContainerService.java:288)
at com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:160)
at com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:172)
at com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevAppServerMain.java:164)
at com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:48)
at com.google.appengine.tools.development.DevAppServerMain.<init>(DevAppServerMain.java:113)
at com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:89)
So it seems the method java.util.Collections.newSetFromMap cannot be found, and indeed it does not exist in Java 1.5: http://download.oracle.com/javase/1.5.0/docs/api/java/util/集合.html
但它确实存在于 Java 1.6: http://download.oracle.com/javautilse/6/docs/api/java/util.CollectionsMap)
这有点令人困惑,因为 Google App Engine 适用于 Java 1.5,或者至少从包含 SDK 的插件目录来看是这样的:
eclipse/plugins/com.google.appengine.eclipse.sdkbundle_1.5.1.r36v201106211634
当我按照说明进行操作时,我不确定为什么会出现此错误。
解决方案
@kisp - 感谢这让我走上了解决问题的道路。
我的 Ubuntu 机器上安装了两个版本的 Java(1.5 和 1.6):
/usr/lib/jvm/java-6-sun
和
/usr/lib/jvm/java-1.5.0-sun
我只告诉 Eclipse Java 1.5。 我需要告诉它1.6。 为此,请打开 Eclipse:
Window > Preferences > Java > Installed JREs > Add
JRE home 应该只指向安装目录 Java ,对我来说这是:
/usr/lib/jvm/java-6-sun-1.6.0.24
JRE 名称默认为一个合理的值。
添加后,您可以将其设置为工作区默认值或设置项目特定设置。 在 Package 资源管理器中右键单击项目:
Properties > Java Compiler > Enable project specific settings
您应该在下拉菜单中看到您新添加的 Java 版本。
插件版本与java版本不对应。
我安装了 1.4.2 并使用 java 1.6
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.