Regression - Class loading errors in 5.3.5 and 5.3.5 that weren't in 5.3.4

Description

Use of the Jython Java library that worked in Lucee 5.3.4 and previous is now broken in Lucee 5.3.5 as well as the 5.3.6 snapshots. Attached is a simple repro case that shows the error. You can run it easily in Commandbox by uzipping the attached zip file, and running

from the root of the folder. If you run it outside of CommandBox, please place the jar file in the SERVLET'S LIB FOLDER Do not use this.javasettings or createObject() to load the jar. This bug seems specific to when the jar has been loaded by the servlet's classloader which is a parent of Lucee's class loaders.

In Lucee 5.3.4 and prior, the code will not error and the index page will simply output the text "bar" to the screen. On Lucee 5.3.5 and higher, you will get an exception with a root cause of:

Something appears to have changed in 5.3.5 in regards to how the classes are loaded that is preventing this from working correctly.

In my tests, if I use this.javaSettings in the Application.cfc or the third argument to createObject() to point to the jars, the error goes away. This leads me to believe the issue is related to how the jar is class loaded.

Environment

None

Assignee

Michael Offner

Reporter

Brad Wood

Priority

Blocker

Labels

Fix versions

Sprint

None

Affects versions

Configure