Maven GWT 2.0和Eclipse
有没有人知道使用maven和eclipse创build新的GWT 2.0版本的项目的一个很好的指导? 我遇到了很多问题,让他们一起打好。
对于什么是值得的,我可以使用maven eclipse插件来创build一个gwt项目,但是将其移植到maven是行不通的(所以这个指导很好)。
同样,我可以使用maven插件(gwt-maven-plugin),但是当我将它导入到eclipse(导入 – >实现maven项目)时,它不会被识别为GWT项目。
谢谢
编辑:我更新了我的答案与OP提供的其他步骤。 信贷给OP的细节。
我刚刚打破了我的Eclipse设置,试图安装最新版本的Google Plugin for Eclipse(对于GWT 2.0),所以我不能确认一切,但是我们假设满足以下先决条件:
- Eclipse 3.5
- Google Plugin for Eclipse(从http://dl.google.com/eclipse/plugin/3.5安装,请参阅说明; )
- 用于Eclipse的m2eclipse插件(从http://m2eclipse.sonatype.org/update安装);
你有没有尝试:
-
从Eclipse创build一个新项目( New> Other …然后selectMaven Project并selectgwt-maven-plugin原型)。
-
编辑生成的
pom.xml
,将gwt.version
属性更新为2.0.0
(已在中央仓库中发布),添加Codehaus Snapshot存储库并将gwt-maven-plugin
版本设置为1.2-SNAPSHOT
(版本1.2不是在中央释放,这应该很快就会发生)1.2
(它已经在中央发布了)。 -
添加
<runTarget>
到gwt-maven-pluginconfiguration中,如使用Google Eclipse插件所述 。 -
按照上一步中提到的页面configurationmaven-war-plugin。
-
通过设置“ 使用Google Web Toolkit”checkbox,从项目首选项手动启用GWT此步骤是不必要的,因为您将使用Maven运行configuration而不是GWT插件for Eclipse来构build/运行。
这是我的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>
运行gwt:eclipse
目标(使用m2eclipse Maven2> build …)来设置您的环境并为您的GWT模块创build启动configuration。
运行gwt:compile gwt:run
,在GWT托pipe模式下编译并运行一个GWT模块。
您可以运行以下命令来生成一个Maven GWT项目:
webAppCreator -maven -noant -out
了解更多信息:
GWT webappcreator创build一个Maven项目:源附件不包含文件URLClassPath.class的源文件
以防万一。 如果您在项目中使用Google GIN,则应在gwt:compile之前添加编译目标。 所以整个序列将是:
compile gwt:compile gwt:run
您可以在这里阅读说明: http : //code.google.com/p/google-gin/wiki/GinTutorial#Compilation
GWT和m2eclipse令人讨厌的问题:
GWT开发模式要求将所有JAR放在WEB-INF / lib中。 当程序员使用提供自己的Eclipse类path容器的m2eclipse时尤其痛苦。
http://code.google.com/p/google-web-toolkit/issues/detail?id=5693
好消息,解决方法正在为我工作
非常有用的线程
@帕斯卡:谢谢(我没有足够的声誉评论别人的post,所以在这里我张贴什么是为我工作)。
我需要2.5.1 GWT(不是2.6,最新)与maven和eclipse(因为sencha GXT不支持2.6)。 试过没有运气
1)在eclipse中尝试了几个原型来生成项目
2)修改pom文件(基于上述讨论)将版本更改为2.5.1
以下为我工作http://mojo.codehaus.org/gwt-maven-plugin/user-guide/archetype.html
mvn archetype:generate -DarchetypeGroupId=org.codehaus.mojo -DarchetypeArtifactId=gwt-maven-plugin -DarchetypeVersion=2.5.1 mvn gwt:eclipse mvn gwt:run
- 如何在<string> XML(eclipse / android)中新build一行或制表符?
- 我如何利用nmake的所有核心?
- Android eclipse DDMS – 无法访问数据/数据/手机拉文件
- 至less有一个JAR扫描了TLD,但没有包含顶级域名(TLD)
- Eclipse WTP插件没有Apache Tomcat适配器
- 什么是自动生成默认和字段构造函数的eclipse快捷方式?
- 如何使用ADT插件将“Androiddevise支持库”添加到Eclipse中?
- ADT 22.3(android 4.4) – 获取错误“场景创build后,#init()必须被称为”
- 在eclipse控制台中着色日志