2012-10-25 144 views
4

我在嘗試創建一個可以在Eclipse中使用的簡單GWT + Maven項目時遇到了很多問題。下面是我在做什麼:在Eclipse中使用GWT + Maven項目

  1. 創建一個新的gwt-maven-plugin項目:

    mvn archetype:generate -q -DarchetypeGroupId=org.codehaus.mojo -DarchetypeArtifactId=gwt-maven-plugin -DarchetypeVersion=2.5.0-rc2 -DgroupId=myGroupId -DartifactId=myArtifactId -Dversion=1.0 -Dmodule=myModule
  2. 打開Eclipse中的項目:文件=>導入... =>現有Maven項目,然後選擇我剛剛創建的項目。

不過,我得到這些錯誤:

 
No marketplace entries found to handle gwt-maven-plugin:2.5.0-rc2:generateAsync in Eclipse. Please see Help for more information. 
No marketplace entries found to handle gwt-maven-plugin:2.5.0-rc2:i18n in Eclipse. Please see Help for more information. 

我不明白此錯誤消息。我找到了一個related question on SO,但將建議的剪切片段添加到我的pom.xml中並沒有出現任何問題。

任何人都可以點亮一下嗎?

+0

你試過項目→Maven→更新項目配置...?順便說一句,我不建議使用原型。請參閱http://code.google.com/p/google-web-toolkit/wiki/WorkingWithMaven –

+0

更新項目配置並未解決問題。你鏈接的教程看起來很有希望,我會放棄它。 – del

+0

Eclipse是否建議您針對這些錯誤「快速修復」?它應該建議你忽略它們,爲此它會在POM的'pluginManagement'部分插入相應的配置(類似於Dvd Prd的答案)。 –

回答

0

代替從命令行運行,安裝eclipse m2e(Maven Integration for Eclipse)插件。這會讓你的生活變得更輕鬆。

UPDATE:檢查這一個Maven GWT 2.0 and Eclipse

+1

m2e做了令人驚歎的工作,讓Maven和Eclipse一起談論 –

+0

很明顯,OP已經在使用M2Eclipse:「沒有找到市場條目......」有類似的消息來了來自M2E。 –

+0

@eugener - 我使用命令行中的mvn來創建一個簡單的示例項目。嘗試將任何Maven + GWT項目導入Eclipse(安裝了m2e)時遇到問題。 – del

1

你應該告訴M2E只是忽略這些警告。一旦你執行一個目標,異步& i18n目標會自動執行,它只是一個經典的maven/eclipse不能很好的結合在一起。

追加pluginManagement項目(插件元素之後)你的構建部分

<plugins> 
      your maven plugins here 
    </plugins> 
     <pluginManagement> 
      <plugins> 
       <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.--> 
       <plugin> 
        <groupId>org.eclipse.m2e</groupId> 
        <artifactId>lifecycle-mapping</artifactId> 
        <version>1.0.0</version> 
        <configuration> 
         <lifecycleMappingMetadata> 
          <pluginExecutions> 
           <pluginExecution> 
            <pluginExecutionFilter> 
             <groupId>org.codehaus.mojo</groupId> 
             <artifactId> 
              gwt-maven-plugin 
             </artifactId> 
             <versionRange> 
              [2.4.0,) 
             </versionRange> 
             <goals> 
              <goal>i18n</goal> 
              <goal>generateAsync</goal> 
             </goals> 
            </pluginExecutionFilter> 
            <action> 
             <ignore></ignore> 
            </action> 
           </pluginExecution> 
          </pluginExecutions> 
         </lifecycleMappingMetadata> 
        </configuration> 
       </plugin> 
      </plugins> 
     </pluginManagement> 

最後的文件夾目標/生成來源/ GWT添加到構建路徑

+1

這將刪除這2個導入錯誤,但然後我得到一堆構建錯誤引用缺少的類型:「消息無法解析爲類型」,「GreetingServiceAsync無法解析爲類型」,「從類型GWT創建(類)的方法引用缺少的類型消息「等。 – del

+0

確保將target/generated-source/gwt文件夾添加到構建路徑。這將使eclipse找到生成的類。 – David