如何在WildFly上使用新的(tbroyer)maven-gwt-plugin设置GWT超级开发模式?

时间:2017-05-28 12:07:31

标签: java maven gwt jboss wildfly

使用new maven-gwt-pluginofficially取代传统的mojo),我可以运行GWT Super Dev Mode:

mvn gwt:codeserver

我如何让我的后端与WildFly一起运行(它使用JAX-RS和其他JavaEE技术)?

1 个答案:

答案 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>
  • 在maven-gwt-plugin中配置来自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战争......