[ https://issues.apache.org/jira/browse/SM-5826?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jean-Baptiste Onofré resolved SM-5826. -------------------------------------- Resolution: Fixed > opensaml-4.3.2_1 fails to Install due to Invalid Import-Package Syntax > ---------------------------------------------------------------------- > > Key: SM-5826 > URL: https://issues.apache.org/jira/browse/SM-5826 > Project: ServiceMix > Issue Type: Bug > Components: bundles > Environment: OSGi Container (e.g., Apache Felix) > Reporter: Herman Ciechanowiec > Assignee: Jean-Baptiste Onofré > Priority: Critical > Fix For: bundles-2025.05 > > Time Spent: 50m > Remaining Estimate: 0h > > Attempting to install the > {{org.apache.servicemix.bundles.opensaml-4.3.2_1.jar}} bundle in an OSGi > environment results in a {{BundleException}}. > *Steps to Reproduce:* > # Obtain the {{org.apache.servicemix.bundles.opensaml-4.3.2_1.jar}} bundle. > # Attempt to install it into an OSGi container (e.g., using the Felix Web > Console). > # Observe the installation failure and associated error log. > *Error Log:* > {code:java} > 26.04.2025 06:44:10.251 *ERROR* [Background Install > /tmp/install10839402681172598319.tmp] org.apache.felix.http Cannot install or > update bundle from /tmp/install10839402681172598319.tmp > org.osgi.framework.BundleException: Could not create bundle object. > at org.apache.felix.framework.Felix.installBundle(Felix.java:3339) > at > org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:147) > at > org.apache.felix.webconsole.internal.core.InstallHelper.doRun(InstallHelper.java:54) > [org.apache.felix.webconsole:4.9.10] > at > org.apache.felix.webconsole.internal.core.BaseUpdateInstallHelper.doRun(BaseUpdateInstallHelper.java:101) > [org.apache.felix.webconsole:4.9.10] > at > org.apache.felix.webconsole.internal.core.BaseUpdateInstallHelper.run(BaseUpdateInstallHelper.java:166) > [org.apache.felix.webconsole:4.9.10] > at java.base/java.lang.Thread.run(Thread.java:1583) > Caused by: java.lang.IllegalArgumentException: invalid range > "[3,4);resolution:=optional": invalid format > at org.osgi.framework.VersionRange.<init>(VersionRange.java:169) > at > org.apache.felix.framework.util.manifestparser.ManifestParser.normalizeImportClauses(ManifestParser.java:366) > at > org.apache.felix.framework.util.manifestparser.ManifestParser.<init>(ManifestParser.java:220) > at > org.apache.felix.framework.BundleRevisionImpl.<init>(BundleRevisionImpl.java:117) > at > org.apache.felix.framework.BundleImpl.createRevision(BundleImpl.java:1290) > at org.apache.felix.framework.BundleImpl.<init>(BundleImpl.java:114) > at org.apache.felix.framework.Felix.installBundle(Felix.java:3287) > ... 5 common frames omitted > {code} > *Analysis:* > The root cause is an invalid syntax in the generated {{Import-Package}} > manifest header within the bundle. Specifically, for the {{javax.annotation}} > package, the entry is generated as: > {{javax.annotation;version="[3,4);resolution:=optional"}} > The {{resolution:=optional}} directive is incorrectly placed _inside_ the > version range string ({{{}"[3,4)"{}}}). According to OSGi specifications, > directives should follow the version parameter, separated by a semicolon. > *Proposed Fix:* > Modify the {{pom.xml}} for the {{org.apache.servicemix.bundles.opensaml}} > project. Within the {{<properties>}} section, under > {{{}<servicemix.osgi.import.pkg>{}}}, change the line for > {{javax.annotation}} from: > {{javax.annotation;version="[3,4);resolution:=optional",}} > to: > {{javax.annotation;version="[3,4)";resolution:=optional,}} > This correction places the {{resolution:=optional}} directive correctly after > the version attribute, resolving the parsing error and allowing the bundle to > be installed successfully. -- This message was sent by Atlassian Jira (v8.20.10#820010)