2013-10-05 65 views
3

首先:我不確定它是否適合這樣的問題,所以如果您認爲它有更適合的空間,請將其移動。將Google App Engine應用程序(Java)導入到Eclipse中

我有一些基於GAE的項目需要導入到Eclipse中。我下載了Eclipse EE的新版本(Kepler)並安裝了App Engine Plugin。然後,我從源創建了一個新項目並嘗試對其進行配置......這是問題開始的地方。

當我嘗試建立的項目,我得到3個錯誤:

The App Engine SDK '\incap-ii\build\web\WEB-INF\lib\appengine-api-1.0-sdk-1.8.0.jar' on the project's build path is not valid (SDK directory 'D:\incap-ii\build\web\WEB-INF\lib\appengine-api-1.0-sdk-1.8.0.jar' does not exist) incap-ii  Unknown Google App Engine Problem 
Project 'incap-ii' is missing required library: 'war/WEB-INF/lib/jsr107cache-1.1.jar' incap-ii  Build path Build Path Problem 
The project cannot be built until build path errors are resolved incap-ii  Unknown Java Problem 

第一個錯誤說,一些jar文件無法找到,但顯示的路徑很奇怪。實際上它缺少一個指向工作區的部分(D:\workspaces\eclipse GAE\) - 從incap-ii開始休息很好。我試圖配置構建路徑或更改SDK路徑:

config

正如你可以看到我在配置2 SDK。然而,我無法改變這個項目中使用的一個:我從列表中選擇appengine-java-1.8.5-1.8.5,點擊確定,對話框窗口關閉,但錯誤仍然存​​在,一旦我再次打開對話框,我看到更改未保存(仍然使用錯誤的)。

是否有某些特定配置需要更改? (編輯] 更多解釋/ screes(下)正如你可以在1號屏幕(preferences \ google \ appengine)中看到的那樣,我配置了2個appEgines:我手動下載並提取的一個(在屏幕上檢查),另一個是由Google App Engine Plugin下載的。無論如何,當我檢查項目首選項時,我會看到3個引擎(屏幕2) - 另外一個(選定)位於項目目錄中。正如我所說,我不能改變這一點,因爲我點擊「確定」後,更改不會保存。但是,當我打開「配置SDK」(屏幕3)時,我只能看到兩個外部引擎。我勒個去?我試圖重新安裝整個Eclipse,但它沒有幫助...另外,我能夠運行此項目與AppEngine手動下載時,我用Netbeans構建它,並從外殼運行,所以引擎可能是罰款...

  1. enter image description here
  2. enter image description here
  3. enter image description here

回答

1

它看起來像有一個與你的SDK的配置有問題。

您的屏幕截圖顯示了您的項目配置,但我認爲您需要查看首選項 - > google - >應用引擎,並檢查SDK的配置。我認爲你可能無法爲自己的項目選擇一個會顯示錯誤,但無論哪種方式,你可能想要刪除並重新添加它,並確保它的路徑是有效的。

+0

查看我的編輯 – Moby04

+0

在幾個GAE SDK安裝中,「正常」(根據我的經驗)是Eclipse/plugins文件夾中的一個。我相信那是與GPE捆綁在一起的。你能爲你的項目選擇一個嗎? – Tom

+0

插件附帶的是App Engine 1.8.5。正如我所說:我可以從選擇它,但是當我關閉對話框,確定更改沒有保存。我也從https://developers.google.com/appengine/downloads#Google_App_Engine_SDK_for_Java下載了GAE,但無法選擇它(因此它實際上已被使用)。 – Moby04

10

我遇到的問題可能與您的問題相同。在我的情況是,Eclipse說:

App Engine的SDK 「C:\用戶\ Takahiko.m2 \庫\ COM \谷歌\ AppEngine上\ AppEngine上-API 1.0 SDK \ 1.8.8 \ appengine- (SDK位置 'C:\ Users \ Takahiko.m2 \ repository \ com \ google \ appengine \ appengine-api-1.0-sdk')。 \ 1.8.8 \應用服務引擎的API-1.0-SDK-1.8.8。罈子 不是目錄)

這意味着Eclipse中發現的App Engine SDK的二進制文件之前搜索的App Engine SDK的安裝目錄下的本地的倉庫(〜/ .m2目錄/庫)

(1)在Eclipse中關閉您的項目

用文本編輯器項目的(2)打開的.classpath,如果它包含classpathentry的相關到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)重新打開你的項目

+1

爲我完美工作 - 奇怪但謝謝:) – DominikAngerer

+0

爲了讓.classpath文件顯示在我的Eclipse包視圖中,從Package Explorer視圖中,我不得不選擇小下拉箭頭 - > filters - >取消全選。注意:我真的不想隱藏任何東西,所以你可以比這更有選擇性。 – Jake88

相關問題