No working MSSQL extension for Lucee 5.3 and Java 11

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))) Unresolved requirements: [[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))) Unresolved requirements: [[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))) Unresolved requirements: [[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))) Unresolved requirements: [[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))) Unresolved requirements: [[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))) Unresolved requirements: [[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))) Unresolved requirements: [[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))) Unresolved requirements: [[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))) Unresolved requirements: [[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))) Unresolved requirements: [[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))) Unresolved requirements: [[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))) Unresolved requirements: [[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
"

Which exact version of Lucee are you using?

5.3.4.77

I tried both the lucee/lucee image on dockerhub as well as running my own tomcat with lucee-light-5.3.4.77.jar

Looks like it’s related to https://luceeserver.atlassian.net/browse/LDEV-2271

Can you file a new bug and link it back to this old one?

Will do. Thanks!

Ticket here: https://luceeserver.atlassian.net/browse/LDEV-2723