Java Maven GWT 2.0和Eclipse
有人知道使用maven和eclipse在新的GWT 2.0版本中创建项目的好指南吗?我在让他们配合得很好方面遇到了很多问题 值得一提的是,我可以使用maven eclipse插件创建一个gwt项目,该插件工作得很好,但将其移植到maven并不起作用(因此提供一个指南将非常有用) 同样,我可以使用maven插件(gwt maven插件),但当我将其导入eclipse(导入->物化maven项目)时,它不会被识别为gwt项目Java Maven GWT 2.0和Eclipse,java,eclipse,maven-2,gwt,Java,Eclipse,Maven 2,Gwt,有人知道使用maven和eclipse在新的GWT 2.0版本中创建项目的好指南吗?我在让他们配合得很好方面遇到了很多问题 值得一提的是,我可以使用maven eclipse插件创建一个gwt项目,该插件工作得很好,但将其移植到maven并不起作用(因此提供一个指南将非常有用) 同样,我可以使用maven插件(gwt maven插件),但当我将其导入eclipse(导入->物化maven项目)时,它不会被识别为gwt项目 谢谢编辑:我已经用OP提供的附加步骤更新了我的答案。详情请参见OP 我刚刚
谢谢编辑:我已经用OP提供的附加步骤更新了我的答案。详情请参见OP 我刚刚破坏了Eclipse安装程序,试图安装最新版本的Google插件for Eclipse(适用于GWT 2.0),因此我无法确认所有内容,但是,让我们假设满足以下先决条件:
- Eclipse 3.5
- Eclipse的Google插件(从安装,请参阅)
- 用于Eclipse的m2eclipse插件(从安装)
pom.xml
,将gwt.version
属性更新为2.0.0
(已在central repo中发布),添加存储库并将gwt maven插件
版本设置为1.2-SNAPSHOT
(central中未发布版本1.2,这应该很快就会发生)1.2
(也已在中环发布)
添加到gwt maven插件配置中,如中所述pom.xml
实际上的样子:
<?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>
4.0.0
com.mycompany.demo
我的gwtapp
战争
0.0.1-快照
gwt maven原型项目
2.0.0
1.5
1.5
com.google.gwt
gwt servlet
${gwt.version}
运行时
com.google.gwt
gwt用户
${gwt.version}
假如
朱尼特
朱尼特
4.4
测试
war/WEB-INF/classes
org.codehaus.mojo
GWTMaven插件
1.2
编译
生成同步
测试
com.mycompany.demo.gwt.Application/Application.html
org.apache.maven.plugins
maven战争插件
2.0.2
战争
src/main/webapp/WEB-INF/WEB.xml
运行gwt:eclipse
目标(使用M2EclipseMaven2>build…)来设置环境并为gwt模块创建启动配置
运行
gwt:compile gwt:Run
以gwt托管模式编译并运行gwt模块。以防万一。如果您在项目中使用Google GIN,您应该在gwt:compile之前添加compile目标。因此,整个顺序是:
compile gwt:compile gwt:run
您可以在此处阅读说明:
您可以运行以下命令来生成Maven GWT项目: webAppCreator-maven-noant-out 有关更多信息:
GWT和m2eclipse的一个恼人问题: GWT开发模式需要所有JAR 放置在WEB-INF/lib中。它是 尤其是当程序员 使用m2eclipse,它提供自己的 Eclipse类路径容器 好消息,这个变通方法对我很有用 @帕斯卡:谢谢(我没有足够的声誉去评论其他的帖子,所以我在这里发布对我有用的东西) 我需要2.5.1 GWT(不是2.6,最新版本)与maven和eclipse一起工作(因为2.6还不支持sencha GXT) 1) 在eclipse中尝试了几个原型来生成项目 2) 修改pom文件(基于上述讨论),将版本更改为2.5.1 下面的内容对我有用
谢谢你的回复。正如在你的帖子中所做的,但也做了指定GWTSDK的附加步骤(右键单击project->google->WebToolkit设置)。它看起来是可以编译的,但是当运行项目(在eclipse中)时,我在“开发模式”选项卡中没有打开应用程序的任何链接。。。你知道为什么会这样吗?好吧,我(终于)让它起作用了。尽管eclipse开发模式显示到应用程序的链接似乎仍然存在问题。基本上遵循帕斯卡的答案,但随后遵循上的说明。然后使用“mvn gwt:compile gwt:run”查看页面@Pascal-如果您想附加您的答案以反映您必须(1)在eclipse中指定该项目为gwt项目,(2)按照上面页面中的指示更改pom,以及(3)在编译之前运行“mvn gwt:eclipse”,我将接受答案。感谢您的反馈。我已经相应地更新了我的答案(我已经测试过了,一切正常)。再次感谢!我使用的是gwt maven插件,没有Google Eclipse插件。项目是使用gwt maven插件原型创建的。除了gwt:debug之外,一切都正常。GWT开发模式窗口未打开。我无法使用gwt模块访问页面。我做错了什么?在以下方面找到了解决方案:
mvn archetype:generate -DarchetypeGroupId=org.codehaus.mojo -DarchetypeArtifactId=gwt-maven-plugin -DarchetypeVersion=2.5.1
mvn gwt:eclipse
mvn gwt:run