krampstudio
krampstudio

Reputation: 3621

GWT Maven hosted mode

After some tries, I don't get to make the hosted mode to work with maven. My pom.xml is the following and I'm using a standard maven structure:

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>gwt-maven-plugin</artifactId>
            <version>2.4.0</version>
            <executions>
                <execution>
                    <goals>
                        <goal>compile</goal>
                        <goal>i18n</goal>
                        <goal>generateAsync</goal>
                    </goals>
                </execution>
            </executions>

            <configuration>
                <draftCompile>true</draftCompile>
                <strict>true</strict>
                <inplace>false</inplace>
                <runTarget>project.html</runTarget>
                <style>${gwt.style}</style>
                <i18nMessagesBundle>com.domain.client.i18n.Messages</i18nMessagesBundle>
                <i18nConstantsBundle>comdomain.client.properties.ClientProperties</i18nConstantsBundle>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.1.1</version>
            <executions>
                <execution>
                    <phase>compile</phase>
                    <goals>
                        <goal>exploded</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

Any ideas?

Upvotes: 1

Views: 4843

Answers (3)

appbootup
appbootup

Reputation: 9537

I noticed two missing tags <outputDirectory> under build and <module> under gwt-maven-plugin configurations.

Also reference - http://code.google.com/p/google-web-toolkit/source/browse/trunk/samples/dynatablerf/pom.xml

 <build>
    <!-- Generate compiled stuff in the folder used for development mode -->
    <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory>

    <plugins>

      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.4</version>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
        <dependencies>
          <!-- Need to run the RF Validation tool. This works on both the command-line
               and in Eclipse, provided that m2e-apt is installed. -->
          <dependency>
            <groupId>com.google.web.bindery</groupId>
            <artifactId>requestfactory-apt</artifactId>
            <version>${gwtVersion}</version>
          </dependency>
        </dependencies>
      </plugin>

      <!-- GWT Maven Plugin-->
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>gwt-maven-plugin</artifactId>        
        <version>2.5.0</version>
        <dependencies>
          <dependency>
            <groupId>com.google.gwt</groupId>
            <artifactId>gwt-user</artifactId>
            <version>${gwtVersion}</version>
          </dependency>
          <dependency>
            <groupId>com.google.gwt</groupId>
            <artifactId>gwt-dev</artifactId>
            <version>${gwtVersion}</version>
          </dependency>
        </dependencies>
        <!-- JS is only needed in the package phase, this speeds up testing -->
        <executions>
          <execution>
            <phase>prepare-package</phase>
            <goals>
              <goal>compile</goal>
              <goal>i18n</goal>
              <goal>generateAsync</goal>
             </goals>
          </execution>
        </executions>

        <!-- Plugin configuration. There are many available options,
             see gwt-maven-plugin documentation at codehaus.org -->
        <configuration>
          <draftCompile>true</draftCompile>
          <strict>true</strict>
          <inplace>false</inplace>
          <!-- URL that should be automatically opened in the GWT shell (gwt:run). -->
          <runTarget>project.html</runTarget>
          <style>${gwt.style}</style>
          <i18nMessagesBundle>com.domain.client.i18n.Messages</i18nMessagesBundle>
          <i18nConstantsBundle>comdomain.client.properties.ClientProperties</i18nConstantsBundle>         
          <!-- Ask GWT to create the Story of Your Compile (SOYC) (gwt:compile) -->
          <compileReport>true</compileReport>
          <module>youR.gwt.ModuleName</module>
          <logLevel>INFO</logLevel>
          <copyWebapp>true</copyWebapp>
        </configuration>
      </plugin>

Upvotes: 2

checketts
checketts

Reputation: 14963

Here is the POM I used in a presentation today that works if you want to compare them: https://github.com/checketts/gwt-spring-demo/blob/master/pom.xml.

Upvotes: 2

Arcadien
Arcadien

Reputation: 2278

Try adding these configuration entries :

<warSourceDirectory>${basedir}/src/main/webapp</warSourceDirectory>                          
<webappDirectory>${project.build.directory}/${project.build.finalName}</webappDirectory>
<hostedWebapp>${basedir}/src/main/webapp</hostedWebapp>

The last one may be the real needed one actually

Upvotes: 1

Related Questions