我们在当前项目中使用GWT 2.4版。在服务器端,我们使用Spring
我们使用Maven作为构建工具。该应用程序正在JBOSS 7服务器上部署。
目前,我们在一个Eclipse项目中拥有所有内容。指一个应用程序。gwt。xml文件和一个ApplicationContext。spring的xml。我们有大约2000个Java文件,其中大约1500个用于GWT相关的源文件。
该项目仍在增长,源文件越来越多。
我们对Java到Javac[类文件]编译时间的计时很满意。但当谈到Java到JavaScript时,这是一个问题。
我们已经使用了GWT论坛中提到的所有黑客。
喜欢
但编译仍需要4-6分钟。。有时甚至7分钟。
有了这个问题,我想知道可以改进的选项。
我们正在考虑这样拆分项目:
现在问题来了:
1) 这是否有助于我们缩短编译时间?
2) 如果我们只更改模块2,然后编译模块Main,GWT是否仍会编译模块1,因为它是由模块Main继承的?
请分享您对上述情况的看法。我们甚至尝试了GWT 2.5选项,但对性能改进没有帮助。
谢谢Niraj Salot。
我会先回答你的第二个问题,因为它不是GWT特定的。考虑到您的项目是这样结构的:
project-root
|- module1 (jar)
|- module2 (jar)
L moduleMain (gwt + war)
如果在module2
中进行了一些更改,并且不想重新编译module1
,则可以使用选项-pl
将其从生成过程中跳过(从项目根目录
文件夹启动的命令):
mvn clean install -pl module2,moduleMain
这将重新编译module2
,然后重新编译moduleMain
,而无需重新编译module1
。
这是否有助于我们缩短编译时间?
这取决于模块1和模块2与模块main相比的大小。。。但我对GWT的经验是,通常需要花费大量时间将java客户端代码编译成javascript。这个操作仍然发生在您的模块main中,因此我想说的是,将项目拆分为几个模块不足以显著缩短编译时间。
此外,我建议您使用一个配置文件来控制模块main中gwt maven插件的激活/停用。
在模块main的pom中。xml,将GWT插件移动到配置文件中,方法如下:
<profiles>
<profile>
<id>GWTBuild</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>2.4.0</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>generateAsync</goal>
<goal>test</goal>
</goals>
</execution>
</executions>
<configuration>
<runTarget>com.yoururlroot/index.html</runTarget>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
然后,如果您只是想重建您的战争,因为module2已经更改,但没有重建module1,也没有重新编译所有GWT内容,只需启动:
mvn clean install -pl module2,moduleMain -P!GWTBuild
在这个命令中,GWT插件被停用,因此maven只会重建战争。
告诉我这是否对你有用。
我正试图减少gwt项目的编译时间,使用maven概要文件来设置是需要所有排列还是只需要其中的一部分。 我按照教程在这里:http://www.bonitasoft.org/blog/tutorial/speed-up-gwt-i18n-compilation-using-maven-profiles/ 但是,它没有说明如何创建这两个模块(生产和开发)。这些都是应用程序。gwt。xml文件,如果是,
当我使用“loglevel=all”时,我得到一行输出“checking for updates”,然后它挂起。 我尝试创建一个新的项目并复制源文件--没有改变。
我正在使用GWT 2.4.0和GXT 3.0.0b,我试图用谷歌编译应用程序,但每次我都会遇到这个错误。 问题是什么?它是否有一些缺失的jar/插件?早些时候,我将GWT 2.1与Gxt 2.4一起使用,Gxt 2.4用于精细编译。请帮忙
我正在尝试学习java的这个新GWT部分。。。 我做了我的第一个简单的应用程序 我命名了 我的模块:-HelloWorld 我收到以下错误: 2014年4月18日下午4:00:53爪哇。util。首选项。WindowsPreferences警告:无法在根0x8000002处打开/创建prefs根节点Software\JavaSoft\prefs。Windows RegCreateKeyEx(…)返
我正试图在JDK7U7下编译一个相对简单的、仅客户端的GWT2.5.0应用程序。
我们的团队试图从GWT 2.4.0升级到2.5.0,但现在我们面临的问题是编译器引发了一个异常。以下是编译器日志: 绑定:用户。代理=safari绑定:编译器。useSourceMaps=true绑定:locale=en编译模块应用程序。m8。网状物AGM验证单元:第一次通过时忽略了3个有编译错误的单元。编译时将-strict或-logLevel设置为TRACE或DEBUG以查看所有错误。[错误]