Can't load MSSQL extensions for Java 11 and lucee 5.3

Description

Original fourm post here: https://dev.lucee.org/t/no-working-mssql-extension-for-lucee-5-3-and-java-11/6665

While trying to migrate from lucee 5.2 to lucee 5.3 on java 11 and tomcat 9 I’m unable to get any MSSQL drivers working on java 11.

There don’t appear to be any official extensions for java 11 so I tried building them by hand (following the docs) and also by using https://github.com/lucee/extension-jdbc-mssql . I get the errors below in the deploy.log on all of the java 11 compatible drivers pointing either to a missing dependency or an osgi framework version issue. I’m not too familiar with how this works. I’m using the official lucee docker image to test this.

Has anyone gotten MSSQL datasources working on java 11 w/ lucee 5.3?

ERRORS:
Driver: com.microsoft.sqlserver.mssql-jdbc-7.2.2.lex

“INFO”,“Thread-13062”,“02/25/2020”,“16:54:57”,“extension”,“deploy context admin/dbdriver/MSSQL.cfc”
“ERROR”,“Thread-13062”,“02/25/2020”,“16:54:57”,“Extension”,"Unable to resolve com.microsoft.sqlserver.mssql-jdbc [50](R 50.0): missing requirement [com.microsoft.sqlserver.mssql-jdbc [50](R 50.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.6.0)(

(version>=2.0.0)))];Unable to resolve com.microsoft.sqlserver.mssql-jdbc [50](R 50.0): missing requirement [com.microsoft.sqlserver.mssql-jdbc [50](R 50.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.6.0)(

(version>=2.0.0)))];lucee.runtime.exp.NativeException: Unable to resolve com.microsoft.sqlserver.mssql-jdbc [50](R 50.0): missing requirement [com.microsoft.sqlserver.mssql-jdbc [50](R 50.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.6.0)(

(version>=2.0.0)))]
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4368)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2281)
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998)
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:984)
at lucee.loader.osgi.BundleUtil.start(BundleUtil.java:112)
at lucee.loader.osgi.BundleUtil.start(BundleUtil.java:108)
at lucee.runtime.osgi.OSGiUtil._start(OSGiUtil.java:1148)
at lucee.runtime.osgi.OSGiUtil._startIfNecessary(OSGiUtil.java:1111)
at lucee.runtime.osgi.OSGiUtil._loadBundle(OSGiUtil.java:485)
at lucee.runtime.osgi.OSGiUtil.loadBundle(OSGiUtil.java:463)
at lucee.commons.lang.ClassUtil.loadClassByBundle(ClassUtil.java:155)
at lucee.transformer.library.ClassDefinitionImpl.getClazz(ClassDefinitionImpl.java:109)
at lucee.runtime.config.XMLConfigAdmin.setClass(XMLConfigAdmin.java:6491)
at lucee.runtime.config.XMLConfigAdmin._updateJDBCDriver(XMLConfigAdmin.java:1746)
at lucee.runtime.config.XMLConfigAdmin.updateRHExtension(XMLConfigAdmin.java:4895)
at lucee.runtime.config.XMLConfigAdmin.updateRHExtension(XMLConfigAdmin.java:4592)
at lucee.runtime.config.XMLConfigAdmin._updateRHExtension(XMLConfigAdmin.java:4574)
at lucee.runtime.config.DeployHandler.deploy(DeployHandler.java:82)
at lucee.runtime.engine.Controler.control(Controler.java:213)
at lucee.runtime.engine.Controler.access$000(Controler.java:60)
at lucee.runtime.engine.Controler$ControlerThread.run(Controler.java:113)
Caused by: org.osgi.framework.BundleException: Unable to resolve com.microsoft.sqlserver.mssql-jdbc [50](R 50.0): missing requirement [com.microsoft.sqlserver.mssql-jdbc [50](R 50.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.6.0)(

(version>=2.0.0)))]
… 21 more
"

Driver: com.microsoft.sqlserver.mssql-jdbc-7.4.1.lex

“INFO”,“Thread-13088”,“02/25/2020”,“16:56:57”,“extension”,“deploy context admin/dbdriver/MSSQL.cfc”
“ERROR”,“Thread-13088”,“02/25/2020”,“16:56:57”,“Extension”,"Unable to resolve com.microsoft.sqlserver.mssql-jdbc [51](R 51.0): missing requirement [com.microsoft.sqlserver.mssql-jdbc [51](R 51.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.8.0)(

(version>=2.0.0)))];Unable to resolve com.microsoft.sqlserver.mssql-jdbc [51](R 51.0): missing requirement [com.microsoft.sqlserver.mssql-jdbc [51](R 51.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.8.0)(

(version>=2.0.0)))];lucee.runtime.exp.NativeException: Unable to resolve com.microsoft.sqlserver.mssql-jdbc [51](R 51.0): missing requirement [com.microsoft.sqlserver.mssql-jdbc [51](R 51.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.8.0)(

(version>=2.0.0)))]
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4368)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2281)
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998)
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:984)
at lucee.loader.osgi.BundleUtil.start(BundleUtil.java:112)
at lucee.loader.osgi.BundleUtil.start(BundleUtil.java:108)
at lucee.runtime.osgi.OSGiUtil._start(OSGiUtil.java:1148)
at lucee.runtime.osgi.OSGiUtil._startIfNecessary(OSGiUtil.java:1111)
at lucee.runtime.osgi.OSGiUtil._loadBundle(OSGiUtil.java:485)
at lucee.runtime.osgi.OSGiUtil.loadBundle(OSGiUtil.java:463)
at lucee.commons.lang.ClassUtil.loadClassByBundle(ClassUtil.java:155)
at lucee.transformer.library.ClassDefinitionImpl.getClazz(ClassDefinitionImpl.java:109)
at lucee.runtime.config.XMLConfigAdmin.setClass(XMLConfigAdmin.java:6491)
at lucee.runtime.config.XMLConfigAdmin._updateJDBCDriver(XMLConfigAdmin.java:1746)
at lucee.runtime.config.XMLConfigAdmin.updateRHExtension(XMLConfigAdmin.java:4895)
at lucee.runtime.config.XMLConfigAdmin.updateRHExtension(XMLConfigAdmin.java:4592)
at lucee.runtime.config.XMLConfigAdmin._updateRHExtension(XMLConfigAdmin.java:4574)
at lucee.runtime.config.DeployHandler.deploy(DeployHandler.java:82)
at lucee.runtime.engine.Controler.control(Controler.java:213)
at lucee.runtime.engine.Controler.access$000(Controler.java:60)
at lucee.runtime.engine.Controler$ControlerThread.run(Controler.java:113)
Caused by: org.osgi.framework.BundleException: Unable to resolve com.microsoft.sqlserver.mssql-jdbc [51](R 51.0): missing requirement [com.microsoft.sqlserver.mssql-jdbc [51](R 51.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.8.0)(

(version>=2.0.0)))]
… 21 more
"

Driver: com.microsoft.sqlserver.mssql-jdbc-8.2.0.lex

“INFO”,“Thread-13103”,“02/25/2020”,“16:57:57”,“extension”,“deploy context admin/dbdriver/MSSQL.cfc”
“ERROR”,“Thread-13103”,“02/25/2020”,“16:57:57”,“Extension”,"Unable to resolve com.microsoft.sqlserver.mssql-jdbc [52](R 52.0): missing requirement [com.microsoft.sqlserver.mssql-jdbc [52](R 52.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.8.0)(

(version>=2.0.0)))];Unable to resolve com.microsoft.sqlserver.mssql-jdbc [52](R 52.0): missing requirement [com.microsoft.sqlserver.mssql-jdbc [52](R 52.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.8.0)(

(version>=2.0.0)))];lucee.runtime.exp.NativeException: Unable to resolve com.microsoft.sqlserver.mssql-jdbc [52](R 52.0): missing requirement [com.microsoft.sqlserver.mssql-jdbc [52](R 52.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.8.0)(

(version>=2.0.0)))]
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4368)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2281)
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998)
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:984)
at lucee.loader.osgi.BundleUtil.start(BundleUtil.java:112)
at lucee.loader.osgi.BundleUtil.start(BundleUtil.java:108)
at lucee.runtime.osgi.OSGiUtil._start(OSGiUtil.java:1148)
at lucee.runtime.osgi.OSGiUtil._startIfNecessary(OSGiUtil.java:1111)
at lucee.runtime.osgi.OSGiUtil._loadBundle(OSGiUtil.java:485)
at lucee.runtime.osgi.OSGiUtil.loadBundle(OSGiUtil.java:463)
at lucee.commons.lang.ClassUtil.loadClassByBundle(ClassUtil.java:155)
at lucee.transformer.library.ClassDefinitionImpl.getClazz(ClassDefinitionImpl.java:109)
at lucee.runtime.config.XMLConfigAdmin.setClass(XMLConfigAdmin.java:6491)
at lucee.runtime.config.XMLConfigAdmin._updateJDBCDriver(XMLConfigAdmin.java:1746)
at lucee.runtime.config.XMLConfigAdmin.updateRHExtension(XMLConfigAdmin.java:4895)
at lucee.runtime.config.XMLConfigAdmin.updateRHExtension(XMLConfigAdmin.java:4592)
at lucee.runtime.config.XMLConfigAdmin._updateRHExtension(XMLConfigAdmin.java:4574)
at lucee.runtime.config.DeployHandler.deploy(DeployHandler.java:82)
at lucee.runtime.engine.Controler.control(Controler.java:213)
at lucee.runtime.engine.Controler.access$000(Controler.java:60)
at lucee.runtime.engine.Controler$ControlerThread.run(Controler.java:113)
Caused by: org.osgi.framework.BundleException: Unable to resolve com.microsoft.sqlserver.mssql-jdbc [52](R 52.0): missing requirement [com.microsoft.sqlserver.mssql-jdbc [52](R 52.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.8.0)(

(version>=2.0.0)))]
… 21 more
"

Environment

The official lucee docker container running 5.3.4.77. Also tried a tomcat 9 container running 5.3.4.77, 5.3.4.80, and 5.3.5.78-RC

Assignee

Unassigned

Reporter

Nik Horvat

Priority

New

Labels

None

Fix versions

None

Affects versions

Configure