Robert Munteanu created SLING-12939:
---------------------------------------
Summary: New Sling Bundle Project fails due to changes in internal
m2e API
Key: SLING-12939
URL: https://issues.apache.org/jira/browse/SLING-12939
Project: Sling
Issue Type: Bug
Components: IDE
Reporter: Robert Munteanu
Assignee: Robert Munteanu
Fix For: Sling Eclipse IDE 1.3.0
Attachments: image-2025-09-12-17-51-43-864.png
When attempting to create a new bundle using the wizard this fails with
{noformat}
java.lang.NoSuchMethodError: 'java.util.Collection
org.eclipse.m2e.core.ui.internal.archetype.ArchetypeGenerator.createArchetypeProjects(org.eclipse.core.runtime.IPath,
org.eclipse.m2e.core.project.IArchetype, java.lang.String, java.lang.String,
java.lang.String, java.lang.String, java.util.Properties, boolean,
org.eclipse.core.runtime.IProgressMonitor)'
at
org.apache.sling.ide.eclipse.ui.wizards.np.AbstractNewMavenBasedSlingApplicationWizard.createProjects(AbstractNewMavenBasedSlingApplicationWizard.java:130)
at
org.apache.sling.ide.eclipse.ui.wizards.AbstractNewSlingApplicationWizard$1.execute(AbstractNewSlingApplicationWizard.java:115)
{noformat}
!image-2025-09-12-17-51-43-864.png!
We are still using internal APIs unfortunately and there was an API change in
m2e.
In m2e 2.0.0 the ArchetypeGenerator.createArchetypeProjects has the following
signature (from
https://github.com/eclipse-m2e/m2e-core/blob/db0d6d9043d569111515c7f1cb19c4427c9667e6/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/archetype/ArchetypeGenerator.java#L80-L81
)
{code:java}
public Collection<MavenProjectInfo> createArchetypeProjects(IPath location,
IArchetype archetype, String groupId,
String artifactId, String version, String javaPackage, Properties
properties, boolean interactive,
IProgressMonitor monitor) throws CoreException {
{code}
whereas 2.9.1 (
https://github.com/eclipse-m2e/m2e-core/blob/62e278dcca3372b39f98a832287192272c9f7536/org.eclipse.m2e.core.ui/src/org/eclipse/m2e/core/ui/internal/archetype/ArchetypeGenerator.java#L119-L121
) has
{code:java}
public Collection<MavenProjectInfo> createArchetypeProjects(IPath location,
IArchetype archetype, String groupId,
String artifactId, String version, String javaPackage, Map<String,
String> properties, boolean interactive,
IProgressMonitor monitor) throws CoreException {
{code}
so the 'properties' argument type changed from Properties to Map.
I would try and set up a minimal m2e version for the one with the {{Map}}
argument. If the change is very recent and unnecessarily restricts the
compatible m2e versions, we would need to resolve to reflection.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)