2017-05-28 51 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端口。 –

相關問題