--- a/maven/src/org/netbeans/modules/maven/NbMavenProjectImpl.java +++ a/maven/src/org/netbeans/modules/maven/NbMavenProjectImpl.java @@ -841,7 +841,7 @@ initialized = true; lookup = createBasicLookup(); setLookups(lookup); - Lookup lkp = LookupProviderSupport.createCompositeLookup(new PackagingTypeDependentLookup(watcher, lookup), "Projects/org-netbeans-modules-maven/Lookup"); + Lookup lkp = new PackagingTypeDependentLookup(watcher, lookup); assert checkForForbiddenMergers(lkp) : "Cannot have a LookupMerger for ProjectInformation or SharabilityQueryImplementation"; setLookups(lkp); //NOI18N } @@ -871,7 +871,7 @@ } if (!newPackaging.equals(packaging)) { packaging = newPackaging; - setLookups(LookupProviderSupport.createCompositeLookup(lookup, "Projects/org-netbeans-modules-maven/" + packaging + "/Lookup")); + setLookups(LookupProviderSupport.createCompositeLookup(lookup, "Projects/org-netbeans-modules-maven/" + packaging + "/Lookup", "Projects/org-netbeans-modules-maven/Lookup")); } } --- a/projectapi/src/org/netbeans/spi/project/support/LookupProviderSupport.java +++ a/projectapi/src/org/netbeans/spi/project/support/LookupProviderSupport.java @@ -45,6 +45,7 @@ package org.netbeans.spi.project.support; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; @@ -58,6 +59,7 @@ import org.openide.util.LookupEvent; import org.openide.util.LookupListener; import org.openide.util.lookup.Lookups; +import org.openide.util.lookup.ProxyLookup; /** * Factory for lookup capable of merging content from registered @@ -82,6 +84,13 @@ public static Lookup createCompositeLookup(Lookup baseLookup, String folderPath) { return new DelegatingLookupImpl(baseLookup, Lookups.forPath(folderPath), folderPath); } + public static Lookup createCompositeLookup(Lookup baseLookup, String... folderPaths) { + Lookup[] providers = new Lookup[folderPaths.length]; + for (int i = 0; i < folderPaths.length; i++) { + providers[i] = Lookups.forPath(folderPaths[i]); + } + return new DelegatingLookupImpl(baseLookup, new ProxyLookup(providers), Arrays.toString(folderPaths)); + } /** * Factory method for creating {@link org.netbeans.spi.project.LookupMerger} instance that merges