diff --git a/core/src/main/java/lucee/transformer/dynamic/DynamicClassLoader.java b/core/src/main/java/lucee/transformer/dynamic/DynamicClassLoader.java index e3c1a0657b..26bcc94c99 100644 --- a/core/src/main/java/lucee/transformer/dynamic/DynamicClassLoader.java +++ b/core/src/main/java/lucee/transformer/dynamic/DynamicClassLoader.java @@ -153,10 +153,20 @@ private Class loadClass(String name, boolean resolve, boolean loadFromFS) thr this.unavaiClasses.put(name, ""); throw new ClassNotFoundException("Class [" + name + "] is invalid or doesn't exist [parent:" + getParent() + "]", e); } - byte[] barr = baos.toByteArray(); + if (barr.length == 0) { + IOUtil.closeEL(baos); + this.unavaiClasses.put(name, ""); + throw new ClassNotFoundException("Class [" + name + "] is invalid or doesn't exist [parent:" + getParent() + "]"); + } IOUtil.closeEL(baos); - return _loadClass(name, barr); + try { + return _loadClass(name, barr); + } + catch (LinkageError e) { + this.unavaiClasses.put(name, ""); + throw new ClassNotFoundException("Class [" + name + "] is invalid or doesn't exist [parent:" + getParent() + "]", e); + } } } diff --git a/loader/build.xml b/loader/build.xml index a8c8b3c5ee..3d8b98dde9 100644 --- a/loader/build.xml +++ b/loader/build.xml @@ -2,7 +2,7 @@ - + diff --git a/loader/pom.xml b/loader/pom.xml index 1455347ed9..be5ddd5f73 100644 --- a/loader/pom.xml +++ b/loader/pom.xml @@ -3,7 +3,7 @@ org.lucee lucee - 6.2.0.116-SNAPSHOT + 6.2.0.117-SNAPSHOT jar Lucee Loader Build