mavengwtsmartgwt

GWT and Inherited Modules


I know there are a lot of similar questions out there regarding this issue but none of them have helped me. I think it could be because of my relative skill level with maven and gwt, but I'd like to ask for help.

I am currently getting this error: enter image description here

It goes on for every single class file listed in the com.server package that I have. enter image description here

Below is the pjg.gwt.xml file:

<?xml version="1.0" encoding="UTF-8"?>
<!--
  When updating your version of GWT, you should also update this DTD 
reference,
  so that your app can take advantage of the latest GWT module 
capabilities.
-->
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.9.0//EN"                             
"https://www.gwtproject.org/doctype/2.9.0/gwt-module.dtd">
<module rename-to='com'>
  <!-- Inherit the core Web Toolkit stuff.                        -->
  <inherits name='com.google.gwt.user.User'/>
  <!-- Inherit the default GWT style sheet.  You can change       -->
  <!-- the theme of your GWT application by uncommenting          -->
  <!-- any one of the following lines.                            -->
  <inherits name='com.google.gwt.user.theme.clean.Clean'/>
  <!-- <inherits name='com.google.gwt.user.theme.standard.Standard'/> -->
  <!-- <inherits name='com.google.gwt.user.theme.chrome.Chrome'/> -->
  <!-- <inherits name='com.google.gwt.user.theme.dark.Dark'/>     -->
  <!-- Other module inherits                                      -->
  <!-- Specify the app entry point class.                         -->
  <entry-point class='com.client.pjg'/>
  <!-- Specify the paths for translatable code                    -->
  <source path='client'/>
  <source path='shared'/>
  <source path='server'/>
  <!-- allow Super Dev Mode -->
  <add-linker name="xsiframe"/>
</module>

And here is my pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd">

  <!-- POM file generated with GWT webAppCreator -->
  <modelVersion>4.0.0</modelVersion>
  <groupId>com</groupId>
  <artifactId>pjg</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>com.pjg</name>

  <properties>

    <!-- Setting maven.compiler.source to something different to 1.8
     needs that you configure the sourceLevel in gwt-maven-plugin since
     GWT compiler 2.8 requires 1.8 (see gwt-maven-plugin block below) -->
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>

    <!-- Don't let your Mac use a crazy non-standard encoding -->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  </properties>

  <dependencyManagement>
    <dependencies>
      <!-- ensure all GWT deps use the same version (unless overridden) -->
      <dependency>
        <groupId>com.google.gwt</groupId>
        <artifactId>gwt</artifactId>
        <version>2.9.0</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <dependencies>
    <dependency>
      <groupId>com.google.gwt</groupId>
      <artifactId>gwt-servlet</artifactId>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>com.google.gwt</groupId>
      <artifactId>gwt-user</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>com.google.gwt</groupId>
      <artifactId>gwt-dev</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
        <!-- https://mvnrepository.com/artifact/com.smartgwt/smartgwt -->
    <dependency>
        <groupId>com.smartgwt</groupId>
        <artifactId>smartgwt</artifactId>
        <version>2.4</version>
    </dependency>
  </dependencies>

  <build>
    <!-- Output classes directly into the webapp, so that IDEs and "mvn process- 
classes" update them in DevMode -->
    <outputDirectory>${project.build.directory}/${project.build.finalName}/WEB- 
INF/classes</outputDirectory>

<plugins>

  <!-- GWT Maven Plugin-->
  <plugin>
    <groupId>net.ltgt.gwt.maven</groupId>
    <artifactId>gwt-maven-plugin</artifactId>
    <version>1.0-rc-8</version>
    <executions>
      <execution>
        <goals>
          <goal>compile</goal>
          <goal>test</goal>
        </goals>
      </execution>
    </executions>
    <configuration>
      <moduleName>com.pjg</moduleName>
      <moduleShortName>pjg</moduleShortName>
      <failOnError>true</failOnError>
      <!-- GWT compiler 2.8 requires 1.8, hence define sourceLevel here if you 
use
           a different source language for java compilation -->
      <sourceLevel>1.8</sourceLevel>
      <!-- Compiler configuration -->
      <compilerArgs>
        <!-- Ask GWT to create the Story of Your Compile (SOYC) (gwt:compile) -->
        <arg>-compileReport</arg>
        <arg>-XcompilerMetrics</arg>
      </compilerArgs>
      <!-- DevMode configuration -->
      <warDir>${project.build.directory}/${project.build.finalName}</warDir>
      <classpathScope>compile+runtime</classpathScope>
      <!-- URL(s) that should be opened by DevMode (gwt:devmode). -->
      <startupUrls>
        <startupUrl>pjg.html</startupUrl>
      </startupUrls>
    </configuration>
  </plugin>

  <!-- Skip normal test execution, we use gwt:test instead -->
  <plugin>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.17</version>
    <configuration>
      <skip>true</skip>
    </configuration>
  </plugin>

</plugins>

I believe there is just an issue with the declaration in either the pom or the gwt.xml file but I can't seem to figure it out. I have my declared source paths in the gwt.xml and I believe I have everything I need in the pom.xml. My only other thought is that there might be something mislabeled/titled? Really unsure at this point and figure another set of eyes would be a help.

Is there anything obvious I am missing?

Thanks in advance!


Solution

  • Your code is using the SmartGWT library, so it needs to be declared in your module (.gwt.xml) file, like so:

    <inherits name='com.smartgwt.SmartGwt' />
    

    You might to check the SmartGwt documentation for your version, to make sure that this is still the correct entry point.