eclipse-m2e / m2e-core

Eclipse Public License 2.0
110 stars 110 forks source link

Cannot scan big multi modules with .mvn/extension.xml file anymore #1005

Closed tmortagne closed 1 year ago

tmortagne commented 1 year ago

I just upgraded from Eclipse 2022-06 to 2022-09, and it seems it cannot scan a big multimodule project anymore.

What I did:

It takes an extremely long time (it's instant in Eclipse 2022-06) and finally comes back to the Import windows with a lot of "container creation failed" errors (feels like one per module, but I cannot see the full content of the error since it's too big).

I have more details on the log file with tons of the following errors:

!ENTRY org.eclipse.m2e.core 2 0 2022-10-25 16:01:29.144
!MESSAGE Error while locating pom for basedir /media/DATA/xwiki/sources/xwiki-platform/xwiki-platform-core/xwiki-platform-office/xwiki-platform-office-test/xwiki-platform-office-test-docker/target/hsqldb_embedded-default-default-tomcat-9-firefox/xwiki/templates/job/answer
!STACK 1
org.eclipse.core.runtime.CoreException: container creation failed
    at org.eclipse.m2e.core.internal.embedder.PlexusContainerManager$ExceptionalLookup.throwException(PlexusContainerManager.java:362)
    at org.eclipse.m2e.core.internal.embedder.PlexusContainerManager$ExceptionalLookup.lookup(PlexusContainerManager.java:350)
    at org.eclipse.m2e.core.internal.IMavenToolbox.lambda$2(IMavenToolbox.java:109)
    at java.base/java.util.Optional.map(Optional.java:260)
    at org.eclipse.m2e.core.internal.IMavenToolbox.locatePom(IMavenToolbox.java:107)
    at org.eclipse.m2e.core.embedder.MavenModelManager.readMavenModel(MavenModelManager.java:122)
    at org.eclipse.m2e.core.project.LocalProjectScanner.readMavenProjectInfo(LocalProjectScanner.java:126)
    at org.eclipse.m2e.core.project.LocalProjectScanner.scanFolder(LocalProjectScanner.java:95)
    at org.eclipse.m2e.core.project.LocalProjectScanner.scanFolder(LocalProjectScanner.java:111)
    at org.eclipse.m2e.core.project.LocalProjectScanner.scanFolder(LocalProjectScanner.java:111)
    at org.eclipse.m2e.core.project.LocalProjectScanner.scanFolder(LocalProjectScanner.java:111)
    at org.eclipse.m2e.core.project.LocalProjectScanner.scanFolder(LocalProjectScanner.java:111)
    at org.eclipse.m2e.core.project.LocalProjectScanner.scanFolder(LocalProjectScanner.java:111)
    at org.eclipse.m2e.core.project.LocalProjectScanner.scanFolder(LocalProjectScanner.java:111)
    at org.eclipse.m2e.core.project.LocalProjectScanner.scanFolder(LocalProjectScanner.java:111)
    at org.eclipse.m2e.core.project.LocalProjectScanner.scanFolder(LocalProjectScanner.java:111)
    at org.eclipse.m2e.core.project.LocalProjectScanner.scanFolder(LocalProjectScanner.java:111)
    at org.eclipse.m2e.core.project.LocalProjectScanner.scanFolder(LocalProjectScanner.java:111)
    at org.eclipse.m2e.core.project.LocalProjectScanner.run(LocalProjectScanner.java:66)
    at org.eclipse.m2e.core.ui.internal.wizards.MavenImportWizardPage.lambda$14(MavenImportWizardPage.java:386)
    at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)
Caused by: org.codehaus.plexus.classworlds.realm.DuplicateRealmException: coreExtension>com.gradle:gradle-enterprise-maven-extension:1.14.4
    at org.codehaus.plexus.classworlds.ClassWorld.newRealm(ClassWorld.java:73)
    at org.apache.maven.cli.internal.BootstrapCoreExtensionManager.createExtension(BootstrapCoreExtensionManager.java:124)
    at org.apache.maven.cli.internal.BootstrapCoreExtensionManager.resolveCoreExtensions(BootstrapCoreExtensionManager.java:112)
    at org.apache.maven.cli.internal.BootstrapCoreExtensionManager.loadCoreExtensions(BootstrapCoreExtensionManager.java:92)
    at org.eclipse.m2e.core.internal.embedder.PlexusContainerManager.loadCoreExtensions(PlexusContainerManager.java:305)
    at org.eclipse.m2e.core.internal.embedder.PlexusContainerManager.newPlexusContainer(PlexusContainerManager.java:198)
    at org.eclipse.m2e.core.internal.embedder.PlexusContainerManager.aquire(PlexusContainerManager.java:165)
    at org.eclipse.m2e.core.internal.embedder.PlexusContainerManager.getComponentLookup(PlexusContainerManager.java:190)
    at org.eclipse.m2e.core.embedder.MavenModelManager.readMavenModel(MavenModelManager.java:120)
    ... 15 more
!SUBENTRY 1 org.eclipse.m2e.core 4 0 2022-10-25 16:01:29.144
!MESSAGE container creation failed
!STACK 0
org.codehaus.plexus.classworlds.realm.DuplicateRealmException: coreExtension>com.gradle:gradle-enterprise-maven-extension:1.14.4
    at org.codehaus.plexus.classworlds.ClassWorld.newRealm(ClassWorld.java:73)
    at org.apache.maven.cli.internal.BootstrapCoreExtensionManager.createExtension(BootstrapCoreExtensionManager.java:124)
    at org.apache.maven.cli.internal.BootstrapCoreExtensionManager.resolveCoreExtensions(BootstrapCoreExtensionManager.java:112)
    at org.apache.maven.cli.internal.BootstrapCoreExtensionManager.loadCoreExtensions(BootstrapCoreExtensionManager.java:92)
    at org.eclipse.m2e.core.internal.embedder.PlexusContainerManager.loadCoreExtensions(PlexusContainerManager.java:305)
    at org.eclipse.m2e.core.internal.embedder.PlexusContainerManager.newPlexusContainer(PlexusContainerManager.java:198)
    at org.eclipse.m2e.core.internal.embedder.PlexusContainerManager.aquire(PlexusContainerManager.java:165)
    at org.eclipse.m2e.core.internal.embedder.PlexusContainerManager.getComponentLookup(PlexusContainerManager.java:190)
    at org.eclipse.m2e.core.embedder.MavenModelManager.readMavenModel(MavenModelManager.java:120)
    at org.eclipse.m2e.core.project.LocalProjectScanner.readMavenProjectInfo(LocalProjectScanner.java:126)
    at org.eclipse.m2e.core.project.LocalProjectScanner.scanFolder(LocalProjectScanner.java:95)
    at org.eclipse.m2e.core.project.LocalProjectScanner.scanFolder(LocalProjectScanner.java:111)
    at org.eclipse.m2e.core.project.LocalProjectScanner.scanFolder(LocalProjectScanner.java:111)
    at org.eclipse.m2e.core.project.LocalProjectScanner.scanFolder(LocalProjectScanner.java:111)
    at org.eclipse.m2e.core.project.LocalProjectScanner.scanFolder(LocalProjectScanner.java:111)
    at org.eclipse.m2e.core.project.LocalProjectScanner.scanFolder(LocalProjectScanner.java:111)
    at org.eclipse.m2e.core.project.LocalProjectScanner.scanFolder(LocalProjectScanner.java:111)
    at org.eclipse.m2e.core.project.LocalProjectScanner.scanFolder(LocalProjectScanner.java:111)
    at org.eclipse.m2e.core.project.LocalProjectScanner.scanFolder(LocalProjectScanner.java:111)
    at org.eclipse.m2e.core.project.LocalProjectScanner.scanFolder(LocalProjectScanner.java:111)
    at org.eclipse.m2e.core.project.LocalProjectScanner.scanFolder(LocalProjectScanner.java:111)
    at org.eclipse.m2e.core.project.LocalProjectScanner.run(LocalProjectScanner.java:66)
    at org.eclipse.m2e.core.ui.internal.wizards.MavenImportWizardPage.lambda$14(MavenImportWizardPage.java:386)
    at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)

It seems m2e does not like https://github.com/xwiki/xwiki-platform/blob/master/.mvn/extensions.xml (I'm actually surprised it takes it into account at all to import a Maven project) but it's not that simple since I don't have those errors with https://github.com/xwiki/xwiki-commons which have the same extensions.

Deleting the extensions.xml file bring back instant scan.

laeubi commented 1 year ago

@tmortagne can you try the current snapsot? THer was recently an issue fixed for this regard.

HannesWell commented 1 year ago

@tmortagne can you try the current snapsot? THer was recently an issue fixed for this regard.

You can find them here: https://download.eclipse.org/technology/m2e/snapshots/2.1.0/

tmortagne commented 1 year ago

Thanks, @laeubi and @HannesWell, the snapshot indeed fixed the problem. I don't seem to reproduce https://github.com/eclipse-m2e/m2e-core/issues/1004 either (at least not when creating a new workspace from scratch).

akurtakov commented 1 year ago

Cloasing as per previous comment.