[ERROR] Unable to find 'com/google/common/collect/Collect.gwt.xml' : GWT 2.9

73 views
Skip to first unread message

kassindye mukeya

unread,
Mar 30, 2024, 2:14:40 PMMar 30
to GWT Users
Hi, 
I am unable to build a multimodule demo project using GWT 2.9 using @Tbroyer gwt maven plugin. The reason I am still on this GWT version is because I am still using the Errai Framework that still depends on this particular version of GWT. I included the module that seems to be missing correctly and I still don't understand why it is missing.

here is the error I am receiving when I run :
mvn clean install

[INFO] --- gwt:1.1.0:compile (default-compile) @ sample-client ---
[INFO] Loading inherited module 'net.example.sample.App'
[INFO]    Loading inherited module 'org.jboss.errai.enterprise.All'
[INFO]       Loading inherited module 'org.jboss.errai.ioc.Container'
[INFO]          Loading inherited module 'com.google.common.collect.Collect'
[INFO]             [ERROR] Unable to find 'com/google/common/collect/Collect.gwt.xml' on your classpath; could be a typo, or maybe you forgot to include a classpath entry for source?
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for Sample GWT UI 2.0-SNAPSHOT:
[INFO]
[INFO] Sample GWT UI ...................................... FAILURE [  7.079 s]
[INFO] Sample-webapp ...................................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  8.356 s
[INFO] Finished at: 2024-03-30T12:28:45-03:00
[INFO] ------------------------------------------------------------------------

here is parts of my main pom.xml

<dependencyManagement>
    <dependencies>
      <!-- Internal -->
      <dependency>
        <groupId>net.example.sample</groupId>
        <artifactId>sample-client</artifactId>
        <version>${project.version}</version>
        <type>war</type>
      </dependency>
      <!-- GWT -->
      <dependency>
        <groupId>com.google.gwt</groupId>
        <artifactId>gwt</artifactId>
        <version>${gwt.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.jboss.errai.bom</groupId>
        <artifactId>errai-bom</artifactId>
        <version>${errai.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

    </dependencies>
</dependencyManagement>

and parts of my module pom.xml

<artifactId>sample-client</artifactId>
  <packaging>gwt-app</packaging>

  <name>Sample GWT UI</name>

  <dependencies>
    <dependency>
      <groupId>com.google.gwt</groupId>
      <artifactId>gwt-dev</artifactId>
      <exclusions>
        <exclusion>
          <groupId>org.eclipse.jetty</groupId>
          <artifactId>apache-jsp</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
 
    <!-- GWT -->
    <dependency>
      <groupId>com.google.gwt</groupId>
      <artifactId>gwt-user</artifactId>
    </dependency>
    <dependency>
      <groupId>org.jboss.errai</groupId>
      <artifactId>errai-javaee-all</artifactId>
      <!-- <scope>runtime</scope> -->
    </dependency>

<!-- to load wildfly embbeded  -->
    <dependency>
      <groupId>org.jboss.errai</groupId>
      <artifactId>errai-cdi-jboss</artifactId>
      <scope>runtime</scope>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>net.ltgt.gwt.maven</groupId>
        <artifactId>gwt-maven-plugin</artifactId>
        <configuration>
          <moduleTemplate>${project.basedir}/path/to/module/module.gwt.xml</moduleTemplate>
          <moduleName>net.example.sample.App</moduleName>
          <moduleShortName>sample</moduleShortName>
        </configuration>
      </plugin>
    </plugins>
  </build>

and this is the module inclusion in module.gwt.xml

  <inherits name="org.jboss.errai.enterprise.All" />

What am I missing?
Please Advise.

Colin Alworth

unread,
Mar 30, 2024, 2:19:33 PMMar 30
to GWT Users
This looks like the same question as https://stackoverflow.com/questions/78202341/how-to-set-up-gwt-super-dev-mode-with-the-new-gwt-maven-plugin-with-a-web-applic, except with some updates - it sounds like you resolved the servlet classpath issue, can you flesh out this example a little more to show what else has happened, if that is also your question?

It looks like guava-gwt is somehow not on your classpath, can you verify this?

Also, the moduleTemplate configuration looks wrong, like you've left an example placeholder in the configuration?

kassindye mukeya

unread,
Mar 30, 2024, 6:01:46 PMMar 30
to GWT Users
Hi Colin,

Thanks for your reply. Yes, that question is related. I just updated it on stack overflow. I added the the javax servlet dependency and that part was solved. And now I am facing another issue with the  com/google/common/collect/Collect.gwt.xml module. Now you mentioned guava, I realized that I had it as a dependency, however I didn't added to my gwt module xml file.  I just added it and I still have a bunch of errors in the guava-gwt classes now.  I tried different version of guava as well (the latest one and the 23.0 version).

Tracing compile failure path for type 'com.google.common.collect.StandardTable'
[INFO]       [ERROR] Errors in 'jar:file:/C:/Users/MyUserName/.m2/repository/com/google/guava/guava-gwt/30.1-jre/guava-gwt-30.1-jre.jar!/com/google/common/collect/StandardTable.java'
[INFO]          [ERROR] Line 203: WeakOuter cannot be resolved to a type
[INFO]          [ERROR] Line 566: WeakOuter cannot be resolved to a type
[INFO]          [ERROR] Line 763: WeakOuter cannot be resolved to a type
[INFO]          [ERROR] Line 167: CanIgnoreReturnValue cannot be resolved to a type
[INFO]          [ERROR] Line 477: WeakOuter cannot be resolved to a type
[INFO]          [ERROR] Line 873: WeakOuter cannot be resolved to a type
[INFO]          [ERROR] Line 150: CanIgnoreReturnValue cannot be resolved to a type
[INFO]          [ERROR] Line 593: WeakOuter cannot be resolved to a type
[INFO]          [ERROR] Line 637: WeakOuter cannot be resolved to a type
[INFO]          [ERROR] Line 453: CanIgnoreReturnValue cannot be resolved to a type
[INFO]          [ERROR] Line 537: WeakOuter cannot be resolved to a type
[INFO]          [ERROR] Line 787: WeakOuter cannot be resolved to a type
[INFO]          [ERROR] Line 838: WeakOuter cannot be resolved to a type
[INFO]          [ERROR] Line 141: CanIgnoreReturnValue cannot be resolved to a type
[INFO]          [ERROR] Line 34: The import com.google.errorprone.annotations.CanIgnoreReturnValue cannot be resolved
[INFO]          [ERROR] Line 943: WeakOuter cannot be resolved to a type
[INFO]          [ERROR] Line 35: The import com.google.j2objc cannot be resolved

 [ERROR] Aborting compile due to errors in some input files

You said : " Also, the moduleTemplate configuration looks wrong, like you've left an example placeholder in the configuration?", 
No, I don't think so, I moved the module.gwt.xml where the client/local folder because the old project I want to migrate uses the old version of mojo gwt-maven plugin and that's where the module is. Could that also be part of my issue? I specified the path like that because the with Tbroyer version, the gwt xml module file is not in the same place.

Colin Alworth

unread,
Mar 30, 2024, 9:46:03 PMMar 30
to GWT Users
It appears that the error log you shared all boil down to missing j2objc and errorprone annotations from your classpath.

My concern with your moduleTemplate was simply that you left the value as "${project.basedir}/path/to/module/module.gwt.xml" - do you literally have a directory called path/to/module/ in your project's base directory? I dont think this is causing the problem though, nor is changing from one maven plugin to another, but without a complete picture of your dependencies, it is very hard to guess.

Thomas Broyer

unread,
Apr 1, 2024, 5:23:21 PMApr 1
to GWT Users
On Saturday, March 30, 2024 at 11:01:46 PM UTC+1 dja...@gmail.com wrote:
You said : " Also, the moduleTemplate configuration looks wrong, like you've left an example placeholder in the configuration?", 
No, I don't think so, I moved the module.gwt.xml where the client/local folder because the old project I want to migrate uses the old version of mojo gwt-maven plugin and that's where the module is. Could that also be part of my issue? I specified the path like that because the with Tbroyer version, the gwt xml module file is not in the same place.

If you have a complete module file, you should rather skip the `generate-module` goal by setting <skipModule>true</skipModule> rather than defining <moduleTemplate> (see https://tbroyer.github.io/gwt-maven-plugin/migrating.html

kassindye mukeya

unread,
Apr 2, 2024, 7:57:49 AMApr 2
to GWT Users
@Thomas : yes, that works too as it is stated in your documentation. Thanks.

@Colin : Thanks for the hint. You're right, I added these 2 dependencies : 
    <dependency>
      <groupId>com.google.j2objc</groupId>
      <artifactId>j2objc-annotations</artifactId>
      <optional>false</optional>
      <version>3.0.0</version>
    </dependency>
    <dependency>
      <groupId>com.google.errorprone</groupId>
      <artifactId>error_prone_annotations</artifactId>
      <version>2.26.1</version>
    </dependency

Now mvn install executes successfully.

Thanks
Reply all
Reply to author
Forward
0 new messages