2012-10-25 100 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