Eclipse Indigo的gwt-maven-plugin

时间:2011-09-14 01:32:27

标签: eclipse gwt maven

我只想在Eclipse中设置一个新的GWT项目,并使用Maven来处理所有的jar丛林。我使用gwt-maven-plugin和this指令,但我无法让这个项目在Eclipse中工作。

我实际做了什么:

  • 在命令行中使用archetype gwt创建了一个maven项目。
  • 使用import>在eclipse中导入projet;现有的maven项目
  • 这样做的时候我有错误说:
gwt-maven-plugin:2.3.0-1:generateAsync - "No marketplace entries found to handle"
gwt-maven-plugin:2.3.0-1:i18n - "No marketplace entries found to handle"
gwt-maven-plugin:2.3.0-1:exploded - "No marketplace entries found to handle"

即使我在导入时忽略它们,这些错误也不会消失。

如何让这些项目有效?问题是我跳过了“process-resources”设置吗? (m2e的最新版本中没有这样的设置。)

我应该使用gwt-maven-plugin吗?还有其他方法可以让GWT项目使用Maven吗?或者 - 还有其他方法可以与jar丛林战斗吗? GWT家伙使用什么?

我使用Eclipse Indigo和m2e插件1.0.0以及Google套件插件版本2.3.3。

3 个答案:

答案 0 :(得分:7)

最终我放弃了Maven。正如另一位开发人员所说"good ideas and bad code build communities faster",我还记得我在所有项目中使用Maven的经历:一开始非常有希望,但最终你遇到了一些问题,并最终在配置Maven方面做得更多,而不是实际处理你自己的问题。代码。

我决定手动将所需的.jar-s复制到/ lib文件夹中。我花了一些时间归因于传递依赖,但是比处理Maven更少,现在我控制住了一些东西。如果将来某个时候使用库会成为开销,我会考虑使用Ivy

如果有人希望坚持使用Maven,我最近发现Google团队提供了一个非常有用的链接: http://code.google.com/p/google-web-toolkit/wiki/WorkingWithMaven
他们建议使用他们的示例项目而不是gwt-maven-plugin原型(由于问题)。我同意。它们还为Eclipse Indigo提供了所需的pom生命周期更改。

答案 1 :(得分:0)

根据recent post on the gwt-maven-plugin mailing list,Eclipse Indigo的Maven集成并不完整,因为M2Eclipse 1.0版本带来了大量的变化。 Google工程师David Chandler建议的解决方法是:

  

您可以在命令行上运行“mvn package”或右键单击项目> Maven>以>运行Maven build。

     

您可以通过添加生命周期映射元数据来解决您看到的插件执行失败,如示例POM中所示。 Indigo只需要它们。您不应该在Helios中或从命令行运行mvn包时出现这些错误。

答案 2 :(得分:0)

免责声明:以下指南适用于Windows用户。这些步骤的基础是,它们在被回复者审判时起作用,并且不保证履行工作,除非经过自我实验并尝试了适当的先决条件。

::使用archetype ::

创建一个简单的gwt项目

以下几个命令可用于创建一个简单的gwt项目“Web Starter Application”:

  1. mvn archetype:generate -DarchetypeGroupId = org.codehaus.mojo -DarchetypeArtifactId = gwt-maven-plugin -DarchetypeVersion = 2.3.0
  2. mvn -DarchetypeGroupId = org.codehaus.mojo -DarchetypeArtifactId = gwt-maven-plugin -DarchetypeVersion = 2.3.0 -DgroupId = {project packaging} -DartifactId = {application name} -Dversion = 1.0 org.apache.maven.plugins:maven-archetype-plugin:generate
  3. mvn -DarchetypeGroupId = org.codehaus.mojo -DarchetypeArtifactId = gwt-maven-plugin -DarchetypeVersion = 2.3.0 -DgroupId = {project packaging} -DartifactId = {application name} -Dversion = 1.0 -Dmodule = {module name} org.apache.maven.plugins:maven-archetype -plugin:生成
  4. (archetypeVersion的值可以是2.3.0或更高的稳定版本。)

    maven需要很少的坐标来创建gwt项目。它们如下:

    1. 的groupId
    2. 的artifactId
    3. 版本
    4. 模块
    5. 第一个命令不采用上述任何坐标,因此我们需要在执行时提供它们。请注意,在命令开头就提到了原型目标。必须给出原型目标。 可以找到这些坐标的含义here。 开始理解maven的最佳方法之一是this

      第二个命令不考虑模块名称,因此在命令执行时会提示您提供它。

      第三个命令相当于在批处理模式下运行它,您只需要确认命令本身中提到的groupId,artifactId,version,module的输入。

      一旦这些命令中的任何一个给出了BUILD SUCCESS结果,那么从命令行导航到刚刚创建的项目文件夹并执行以下命令: mvn gwt:运行

      它应该在开发模式下启动项目,以便您可以启动默认浏览器来运行项目或将URL复制到剪贴板并通过任何浏览器导航到它。

      祝你好运。