SQLjet Bundle-RequiredExecutionEnvironment header violates OSGi spec

Reporting here, as the issue tracker linked from the SQLJet website still points to an archive Google Code issue tracker:

The OSGi bundle of org.tmatesoft.sqljet_1.1.13.jar contains both the legacy Bundle-RequiredExecutionEnvironment header and the newer Require-Capability header.

Bundle-RequiredExecutionEnvironment: JavaSE-1.5
Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.5))"

While the OSGi specification recommends against it it is nevertheless allowed:

Bundles should not mix these headers but use either an osgi.ee requirement or this header. If both are used, both constraints must be met to resolve.

However, the value for Bundle-RequiredExecutionEnvironment is wrong. It must be J2SE-1.5 instead. (Capabilities always use JavaSE, so that header is fine.)

See the OSGi spec for valid values for either header.

We’d love to use SQLJet with Tycho, which is currently failing with the funny OSGI specification.

This Bug still exists in Eclipse 2022.03
Will it be ever fixed?
Or is there no longer support for this package?

Workaround to fix the Problem:

  • open jar file (eg. using 7zip, just open, do not extract)
  • open MANIFEST.MF file inside jar
  • delete the line: Bundle-RequiredExecutionEnvironment: JavaSE-1.5
  • update MANIFEST.MF and jar file

kr, Max