使用new maven-gwt-plugin(officially取代传统的mojo),我可以运行GWT Super Dev Mode:
mvn gwt:codeserver
我如何让我的后端与WildFly一起运行(它使用JAX-RS和其他JavaEE技术)?
答案 0 :(得分:1)
使用EmbeddedWildFlyLauncher
errai-cdi-jboss
依赖项,其中包含WildFly的启动程序apache-jsp
中排除gwt-dev
依赖项以避免错误。父pom.xml
看起来像这样:
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-dev</artifactId>
<exclusions>
<exclusion>
<!-- Contains a ServletContainerInitializer that breaks the EmbeddedWildFlyLauncher during GWT Super Dev Mode -->
<groupId>org.eclipse.jetty</groupId>
<artifactId>apache-jsp</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<!-- Only used for EmbeddedWildFlyLauncher during GWT Super Dev Mode -->
<groupId>org.jboss.errai</groupId>
<artifactId>errai-cdi-jboss</artifactId>
<scope>runtime</scope>
</dependency>
EmbeddedWildFlyLauncher
的WildFly启动器errai-cdi-jboss
errai.jboss.home
系统属性,以便启动器可以启动WildFly。warDir
配置为展开的目录,以便还加载后端战争(因此来自GWT客户端的REST / RPC调用实际上有人在后端回复它们)。 父pom.xml
中的该部分如下所示:
<plugin>
<groupId>net.ltgt.gwt.maven</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<devmodeArgs>
<!-- GWT Super Dev Mode: Replace default backend by WildFly -->
<arg>-server</arg>
<arg>org.jboss.errai.cdi.server.gwt.EmbeddedWildFlyLauncher</arg>
<arg>-startupUrl</arg>
<arg>gwtui/gwtui.html</arg>
</devmodeArgs>
<!-- GWT Super Dev Mode: deploy backend correctly -->
<warDir>optashift-employee-rostering-webapp/target/optashift-employee-rostering-webapp-${project.version}</warDir>
<systemProperties>
<!-- GWT Super Dev Mode: which WildFly to use -->
<errai.jboss.home>${wildfly.home}</errai.jboss.home>
</systemProperties>
</configuration>
</plugin>
然后运行
mvn gwt:devmode
重要:这完全不起作用,因为后端不是真正的野外战争,而只是gwt ui战争......