Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot compile GWT project using com.google.gwt:2.10.0-new-groupid-2 #152

Closed
gardellajuanpablo opened this issue Apr 24, 2022 · 4 comments
Closed
Labels
invalid This doesn't seem right

Comments

@gardellajuanpablo
Copy link

Thread details: https://groups.google.com/g/Google-Web-Toolkit-Contributors/c/ClpaaOQUukQ/m/M2LZya52DAAJ

It was tested with Maven 3.6.5 and Maven 3.8.5 and it has the same error. Stacktrace:

Apache Maven 3.8.5 (3599d3414f046de2324203b78ddcf9b5e4388aa0)
...
import: Entry[import  from realm ClassRealm[maven.api, parent: null]]

-----------------------------------------------------

    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:184)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:301)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:211)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:165)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:157)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:121)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:127)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:294)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:960)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: java.lang.NoSuchMethodError: org.codehaus.plexus.util.DirectoryScanner.setFilenameComparator(Ljava/util/Comparator;)V
    at org.codehaus.plexus.components.io.resources.PlexusIoFileResourceCollection.getResources (PlexusIoFileResourceCollection.java:250)
    at org.codehaus.plexus.archiver.AbstractArchiver$1.hasNext (AbstractArchiver.java:561)
    at org.codehaus.plexus.archiver.zip.AbstractZipArchiver.createArchiveMain (AbstractZipArchiver.java:223)
    at org.codehaus.plexus.archiver.zip.AbstractZipArchiver.execute (AbstractZipArchiver.java:201)
    at org.codehaus.plexus.archiver.AbstractArchiver.createArchive (AbstractArchiver.java:1063)
    at org.apache.maven.archiver.MavenArchiver.createArchive (MavenArchiver.java:680)
    at net.ltgt.gwt.maven.PackageAppMojo.execute (PackageAppMojo.java:85)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:301)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:211)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:165)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:157)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:121)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:127)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:294)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:960)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
[ERROR] 
@tbroyer
Copy link
Owner

tbroyer commented Apr 25, 2022

I cannot reproduce, with either 3.8.4 (what I have locally), 3.8.5 or 3.6.3 (both from Docker). Can you share a reproducer?

From the stacktrace, it would probably mean there's some incompatibility between Plexus IO and Plexus Utils.
The call to setFilenameComparator was added 3 years ago and shipped in plexus-io 3.2.0: codehaus-plexus/plexus-io@bff7c5e (and hasn't changed since then)
Same for the method itself in plexus-utils, shipped in 3.3.0 and not changed since then: codehaus-plexus/plexus-utils@5e23866
This would mean you somehow have an older plexus-utils version.
Maven 3.6.3 indeed comes with plexus-utils 3.2.1, but somehow I cannot reproduce, which means that plexus-utils 3.4.1 from the plugin is being used.

Are you maybe not using the plugin's gwt-app packaging, and thus not using <extensions>true</extensions>, and that could possibly change the way Maven sets up class loaders?
A reproducer would greatly help.

@gardellajuanpablo
Copy link
Author

gardellajuanpablo commented Apr 25, 2022

Attached a reproducer. Thanks!
sample.tar.gz

@tbroyer
Copy link
Owner

tbroyer commented Apr 26, 2022

Just looking at the code before running it, I'd say this is likely due to:

          <dependencies>
            <!-- Code Server's Process Still Running After Stopping the maven launcher ( CTRL + C ) #110 -->
            <!-- https://github.com/tbroyer/gwt-maven-plugin/issues/110 -->
            <dependency>
              <groupId>org.codehaus.plexus</groupId>
              <artifactId>plexus-utils</artifactId>
              <version>3.0.16</version>
            </dependency>
          </dependencies>

@gardellajuanpablo
Copy link
Author

Removed that dependency solved the problem. I suppose we can close this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
invalid This doesn't seem right
Projects
None yet
Development

No branches or pull requests

2 participants