我遇到的一个问题可能和你的一样。就我而言,Eclipse 说:
App Engine SDK 'C:\Users\Takahiko.m2\repository\com\google\appengine\appengine-api-1.0-sdk\1.8.8\appengine-api-1.0-sdk-1.8.8.jar'项目的构建路径无效(SDK 位置 'C:\Users\Takahiko.m2\repository\com\google\appengine\appengine-api-1.0-sdk\1.8.8\appengine-api-1.0-sdk-1.8.8 .jar' 不是目录)
这意味着 Eclipse 在搜索 App Engine SDK 的安装目录之前,在本地 maven 存储库 (~/.m2/repository) 中找到了 App Engine SDK 二进制文件。
(1)在 Eclipse 中关闭您的项目。
(2) 使用文本编辑器打开项目的 .classpath,如果它包含与 App Engine 相关的类路径条目,如下所示:
<classpathentry kind="lib" path="C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/lib/shared/appengine-local-runtime-shared.jar">
<attributes>
<attribute name="javadoc_location" value="file:/C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/docs/javadoc/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/lib/shared/el-api.jar">
<attributes>
<attribute name="javadoc_location" value="file:/C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/docs/javadoc/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/lib/shared/jsp/repackaged-appengine-ant-1.7.1.jar">
<attributes>
<attribute name="javadoc_location" value="file:/C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/docs/javadoc/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/lib/shared/jsp/repackaged-appengine-ant-launcher-1.7.1.jar">
<attributes>
<attribute name="javadoc_location" value="file:/C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/docs/javadoc/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/lib/shared/jsp/repackaged-appengine-jasper-6.0.29.jar">
<attributes>
<attribute name="javadoc_location" value="file:/C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/docs/javadoc/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/lib/shared/jsp/repackaged-appengine-jasper-el-6.0.29.jar">
<attributes>
<attribute name="javadoc_location" value="file:/C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/docs/javadoc/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/lib/shared/jsp/repackaged-appengine-tomcat-juli-6.0.29.jar">
<attributes>
<attribute name="javadoc_location" value="file:/C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/docs/javadoc/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/lib/shared/jsp-api.jar">
<attributes>
<attribute name="javadoc_location" value="file:/C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/docs/javadoc/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/lib/shared/servlet-api.jar">
<attributes>
<attribute name="javadoc_location" value="file:/C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/docs/javadoc/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/lib/appengine-tools-api.jar">
<attributes>
<attribute name="javadoc_location" value="file:/C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/docs/javadoc/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/lib/opt/user/appengine-api-labs/v1/appengine-api-labs.jar">
<attributes>
<attribute name="javadoc_location" value="file:/C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/docs/javadoc/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/lib/opt/user/appengine-endpoints/v1/appengine-endpoints-deps.jar">
<attributes>
<attribute name="javadoc_location" value="file:/C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/docs/javadoc/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/lib/opt/user/appengine-endpoints/v1/appengine-endpoints.jar">
<attributes>
<attribute name="javadoc_location" value="file:/C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/docs/javadoc/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/lib/opt/user/datanucleus/v2/asm-4.0.jar">
<attributes>
<attribute name="javadoc_location" value="file:/C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/docs/javadoc/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/lib/opt/user/datanucleus/v2/datanucleus-api-jdo-3.1.3.jar">
<attributes>
<attribute name="javadoc_location" value="file:/C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/docs/javadoc/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/lib/opt/user/datanucleus/v2/datanucleus-api-jpa-3.1.3.jar">
<attributes>
<attribute name="javadoc_location" value="file:/C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/docs/javadoc/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/lib/opt/user/datanucleus/v2/datanucleus-appengine-2.1.2.jar">
<attributes>
<attribute name="javadoc_location" value="file:/C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/docs/javadoc/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/lib/opt/user/datanucleus/v2/datanucleus-core-3.1.3.jar">
<attributes>
<attribute name="javadoc_location" value="file:/C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/docs/javadoc/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/lib/opt/user/datanucleus/v2/geronimo-jpa_2.0_spec-1.0.jar">
<attributes>
<attribute name="javadoc_location" value="file:/C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/docs/javadoc/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/lib/opt/user/datanucleus/v2/jdo-api-3.0.1.jar">
<attributes>
<attribute name="javadoc_location" value="file:/C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/docs/javadoc/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/lib/opt/user/datanucleus/v2/jta-1.1.jar">
<attributes>
<attribute name="javadoc_location" value="file:/C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/docs/javadoc/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/lib/opt/user/jsr107/v1/appengine-jsr107cache-1.8.8.jar">
<attributes>
<attribute name="javadoc_location" value="file:/C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/docs/javadoc/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/lib/opt/user/jsr107/v1/jsr107cache-1.1.jar">
<attributes>
<attribute name="javadoc_location" value="file:/C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/docs/javadoc/"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/lib/user/appengine-api-1.0-sdk-1.8.8.jar" sourcepath="C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/src/user/appengine-api-1.0-sdk-1.8.8-src.zip">
<attributes>
<attribute name="javadoc_location" value="file:/C:/Eclipse/eclipse-juno/plugins/com.google.appengine.eclipse.sdkbundle_1.8.8/appengine-java-sdk-1.8.8/docs/javadoc/"/>
</attributes>
</classpathentry>
(3) 删除所有的classpathentry(与App Engine jar 文件相关)。
(4)在 MAVEN2_CLASSPATH_CONTAINER 之前添加GAE_CONTAINER。
<classpathentry kind="con" path="com.google.appengine.eclipse.core.GAE_CONTAINER"/>
(5) 重新打开你的项目。