2017-05-28 38 views
2

随着new maven-gwt-plugin(其中officially替代了传统的魔力之一),我可以运行GWT超级开发模式是这样的:如何在WildFly上使用新的(tbroyer)maven-gwt-plugin设置GWT超级开发模式?

mvn gwt:codeserver 

如何我得到我的后端与WildFly运行(它使用JAX-RS等JavaEE技术)?

+1

1)你是如何做到这一点与魔杖Haus插件? 2)也许看看wildfly-maven-plugin和wildfly:run/wildfly:start? –

+0

它需要作为一个进程启动(因此它可以作为一个进程被杀死,因此它可以作为一个进行调试等),所以2)不是一个选项。对于1)我见过人们使用启动器,所以我现在也在尝试。 –

回答

1

使用EmbeddedWildFlyLauncher

  • 添加errai-cdi-jboss依赖其中包括WildFly
  • 的启动也排除gwt-devapache-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> 
  • 配置在Maven的GWT-插件
  • 配置errai.jboss.home系统属性的衍生进程的WildFly发射EmbeddedWildFlyLaunchererrai-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战争...

+0

@ thomas-broyer WildFly服务器在端口'9990'启动,devmode在端口'9876',但我的GWT UI发出的REST请求失败,因为'9876'上的devmode服务器忽略它们。任何想法如何让他们转发到'9990'?我没有使用GWT-RPC。 –

+1

使它们相对于'GWT.getModuleBaseURL()'或'GWT.getHostPageBaseURL()'? –

+0

用'warDir'固定,现在一切都运行到wildfly端口。 –

相关问题