Regarding your JDK 17/18 support and your aQute
issue.
[INFO] --- ebr-maven-plugin:1.4.0-SNAPSHOT:bundle
(default-bundle) @ org.antlr.runtime ---
[INFO] Gathering dependencies
[INFO] Configured Artifact:
org.antlr:antlr-runtime:3.5.2:jar
[INFO] Unpacking
/home/akurtakov/.m2/repository/org/antlr/antlr-runtime/3.5.2/antlr-runtime-3.5.2.jar
to
/home/akurtakov/git/orbit-recipes/antlr/org.antlr.runtime_3.5.2/target/dependency-bin
with includes "**/*" and excludes
"META-INF/maven/**/*.*"
[INFO] Merging collected dependencies
[INFO] Using 'UTF-8' encoding to copy filtered
resources.
[INFO] Copying 118 resources
[INFO] Generating OSGi MANIFEST.MF
[ERROR] An internal error occurred
java.util.ConcurrentModificationException
at java.util.TreeMap.callMappingFunctionWithCheck
(TreeMap.java:750)
at java.util.TreeMap.computeIfAbsent
(TreeMap.java:604)
at aQute.bnd.osgi.Jar.putResource (Jar.java:288)
at aQute.bnd.osgi.Jar$1.visitFile (Jar.java:202)
at aQute.bnd.osgi.Jar$1.visitFile (Jar.java:177)
at java.nio.file.Files.walkFileTree
(Files.java:2811)
at aQute.bnd.osgi.Jar.buildFromDirectory
(Jar.java:176)
at aQute.bnd.osgi.Jar.<init> (Jar.java:119)
at aQute.bnd.osgi.Jar.<init> (Jar.java:172)
at
org.apache.felix.bundleplugin.BundlePlugin.getOSGiBuilder
(BundlePlugin.java:604)
at
org.apache.felix.bundleplugin.ManifestPlugin.getAnalyzer
(ManifestPlugin.java:285)
at
org.apache.felix.bundleplugin.ManifestPlugin.execute
(ManifestPlugin.java:111)
at org.eclipse.ebr.maven.BundleMojo.buildBundle
(BundleMojo.java:358)
at org.eclipse.ebr.maven.BundleMojo.execute
(BundleMojo.java:462)
This is because of an old biz.aQute.bnd lib.
Eclipse Jetty hit this same issue early, during the
Java-17 Early Access builds.
We build all the way up to Java-19 EA now.
Update your biz.aQute.bndlib to version 5.3.0
<dependency>
<groupId>biz.aQute.bnd</groupId>
<artifactId>biz.aQute.bndlib</artifactId>
<version>5.3.0</version>
</dependency>
If you manage the ebr-maven-plugin, then update it
there.
Otherwise, if you are a simple project using the
ebr-maven-plugin, the above dependency in a
<dependencyManagement> should be sufficient.