随着new maven-gwt-plugin(其中officially替代了传统的魔力之一),我可以运行GWT超级开发模式是这样的:如何在WildFly上使用新的(tbroyer)maven-gwt-plugin设置GWT超级开发模式?
mvn gwt:codeserver
如何我得到我的后端与WildFly运行(它使用JAX-RS等JavaEE技术)?
随着new maven-gwt-plugin(其中officially替代了传统的魔力之一),我可以运行GWT超级开发模式是这样的:如何在WildFly上使用新的(tbroyer)maven-gwt-plugin设置GWT超级开发模式?
mvn gwt:codeserver
如何我得到我的后端与WildFly运行(它使用JAX-RS等JavaEE技术)?
使用EmbeddedWildFlyLauncher
errai-cdi-jboss
依赖其中包括WildFlygwt-dev
的apache-jsp
依赖,以避免出错。父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>
errai.jboss.home
系统属性的衍生进程的WildFly发射EmbeddedWildFlyLauncher
从errai-cdi-jboss
,所以启动器可以启动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战争...
@ thomas-broyer WildFly服务器在端口'9990'启动,devmode在端口'9876',但我的GWT UI发出的REST请求失败,因为'9876'上的devmode服务器忽略它们。任何想法如何让他们转发到'9990'?我没有使用GWT-RPC。 –
使它们相对于'GWT.getModuleBaseURL()'或'GWT.getHostPageBaseURL()'? –
用'warDir'固定,现在一切都运行到wildfly端口。 –
1)你是如何做到这一点与魔杖Haus插件? 2)也许看看wildfly-maven-plugin和wildfly:run/wildfly:start? –
它需要作为一个进程启动(因此它可以作为一个进程被杀死,因此它可以作为一个进行调试等),所以2)不是一个选项。对于1)我见过人们使用启动器,所以我现在也在尝试。 –