Maven GWT 2.0 和 Eclipse [英] Maven GWT 2.0 and Eclipse

查看:19
本文介绍了Maven GWT 2.0 和 Eclipse的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有谁知道使用 maven 和 eclipse 使用新的 2.0 版 GWT 创建项目的好指南?我遇到了很多问题,让他们一起玩得很好.

Does anyone know of a good guide for creating a project with the new 2.0 release of GWT using maven and eclipse? I am running into a lot of problems getting them to play nicely together.

对于它的价值,我可以使用 maven eclipse 插件创建一个 gwt 项目,该插件工作正常,但将其移植到 maven 不起作用(因此这方面的指南会很棒).

For what it's worth, I can create a gwt project using the maven eclipse plugin which works fine, but porting it to maven doesn't work (so a guide for this would be great).

同样,我可以使用 maven 插件(gwt-maven-plugin),但是当我将它导入到 eclipse(导入 -> 实现 maven 项目)时,它不会被识别为 GWT 项目...

Likewise, I can use the maven plugin (gwt-maven-plugin), but when I import it to eclipse (import -> materialize maven projects), it does not get recognised as a GWT project...

谢谢

推荐答案

我已经使用 OP 提供的其他步骤更新了我的答案.详情请归功于 OP.

I've updated my answer with additional steps provided by the OP. Credits to the OP for the details.

我刚刚在尝试安装最新版本的 Eclipse 谷歌插件(用于 GWT 2.0)时破坏了我的 Eclipse 设置,所以我无法确认所有内容,但让我们假设满足以下先决条件:

I just broke my Eclipse setup trying to install the latest version of the Google Plugin for Eclipse (for GWT 2.0) so I can't confirm everything but, let's assume the following prerequisites are fulfilled:

  • Eclipse 3.5
  • Google Plugin for Eclipse (installed from http://dl.google.com/eclipse/plugin/3.5, see instructions)
  • m2eclipse Plugin for Eclipse (installed from http://m2eclipse.sonatype.org/update)

您是否尝试过:

  1. 从 Eclipse 创建一个新项目(New > Other... 然后选择 Maven Project 并选择 gwt-maven-pluginem> 原型).

  1. Create a new project from Eclipse (New > Other... then select Maven Project and choose the gwt-maven-plugin archetype).

编辑生成的pom.xml,将gwt.version属性更新为2.0.0(已在中央存储库),添加Codehaus Snapshot 存储库并将 gwt-maven-plugin 版本设置为 1.2-SNAPSHOT(1.2 版未在 Central 发布,应该很快就会发布)1.2(已在central发布).

Edit the generated pom.xml, update the gwt.version property to 2.0.0 (which has been released in the central repo), add the Codehaus Snapshot repository and set the gwt-maven-plugin version to 1.2-SNAPSHOT (the version 1.2 isn't released in central, this should happen soon) 1.2 (which has been released in central too).

添加到 gwt-maven-plugin 配置中,如 使用 Google Eclipse 插件.

Add a <runTarget> to the gwt-maven-plugin configuration as documented in Using the Google Eclipse Plugin.

按照上一步中提到的页面中的说明配置 maven-war-plugin.

Configure the maven-war-plugin as documented in the page mentioned in the previous step.

通过设置使用 Google Web Toolkit 复选框从项目首选项手动启用项目上的 GWT 这一步是不必要的,因为您将构建/运行Maven 运行配置,而不是 Eclipse 的 GWT 插件.

Manually enable GWT on the project from project preference by setting the Use Google Web Toolkit checkbox This step is unnecessary since you'll be building/running with a Maven run configuration, not the GWT Plugin for Eclipse.

这是我的 pom.xml 实际上的样子:

This is how my pom.xml actually looks like:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <!--
    GWT-Maven archetype generated POM
  -->
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany.demo</groupId>
  <artifactId>my-gwtapp</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>gwt-maven-archetype-project</name>

  <properties>

      <!-- convenience to define GWT version in one place -->
      <gwt.version>2.0.0</gwt.version>

      <!--  tell the compiler we can use 1.5 -->
      <maven.compiler.source>1.5</maven.compiler.source>
      <maven.compiler.target>1.5</maven.compiler.target>

  </properties>

  <dependencies>

    <!--  GWT dependencies (from central repo) -->
    <dependency>
      <groupId>com.google.gwt</groupId>
      <artifactId>gwt-servlet</artifactId>
      <version>${gwt.version}</version>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>com.google.gwt</groupId>
      <artifactId>gwt-user</artifactId>
      <version>${gwt.version}</version>
      <scope>provided</scope>
    </dependency>

    <!-- test -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.4</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <outputDirectory>war/WEB-INF/classes</outputDirectory>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>gwt-maven-plugin</artifactId>
        <version>1.2</version>
        <executions>
          <execution>
            <goals>
              <goal>compile</goal>
              <goal>generateAsync</goal>
              <goal>test</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <runTarget>com.mycompany.demo.gwt.Application/Application.html</runTarget>
        </configuration>
      </plugin>
      <!--
          If you want to use the target/web.xml file mergewebxml produces,
          tell the war plugin to use it.
          Also, exclude what you want from the final artifact here.
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <webXml>target/web.xml</webXml>
                    <warSourceExcludes>.gwt-tmp/**</warSourceExcludes>
                </configuration>
            </plugin>
            -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.0.2</version>
        <configuration>
          <warSourceDirectory>war</warSourceDirectory>
          <webXml>src/main/webapp/WEB-INF/web.xml</webXml>
        </configuration>
      </plugin>    
    </plugins>
  </build>

</project>

运行 gwt:eclipse 目标(使用 m2eclipse Maven2 > build...)来设置您的环境并为您的 GWT 模块创建启动配置.

Run the gwt:eclipse goal (using m2eclipse Maven2 > build...) to setup your environment and create the launch configuration for your GWT modules.

运行 gwt:compile gwt:run 以在 GWT 托管模式下编译和运行 GWT 模块.

Run gwt:compile gwt:run to compile and run a GWT module in the GWT Hosted mode.

这篇关于Maven GWT 2.0 和 Eclipse的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆