Skip to content

Mandatory OSGi-imports rg. com.ibm.security.auth.module fail deployments #2608

@MrEasy

Description

@MrEasy

Driver version

Provide the JDBC driver version (e.g. 10.2.0).
current master - 12.9.0.jre21-preview
Recommend to address before GA release.

Problem description

This change here: e63814e introduced a Class#forName with an IBM class, here.
This is perfectly fine, but will result in the JAR's manifest to contain a non-optional import declaration on com.ibm.security.auth.module plus com.sun.security.auth.module, while `they should be declared with resolution:=optional, like for other optional dependencies below:

Image

Similar issues from past: link

Expected behavior

Deployable in OSGi-envoronment without IBM and com.sun dependency.

Actual behavior

Deployment in an OSGi-environment will fail with:

org.apache.felix.resolver.reason.ReasonException: Unable to resolve com.microsoft.sqlserver.mssql-jdbc/12.9.0: missing requirement [com.microsoft.sqlserver.mssql-jdbc/12.9.0] osgi.wiring.package; filter:="(osgi.wiring.package=com.ibm.security.auth.module)" at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341) ... 16 more

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Status

Closed Issues

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions