]
Mario Fusco updated DROOLS-4952:
--------------------------------
Sprint: (was: 2020 Week 04-06 (from Jan 20))
drools-7.31 expert missing/ dropped ProjectClassLoader class?
-------------------------------------------------------------
Key: DROOLS-4952
URL:
https://issues.redhat.com/browse/DROOLS-4952
Project: Drools
Issue Type: Bug
Components: core engine
Affects Versions: 7.31.0.Final
Reporter: John Harrison
Assignee: Mario Fusco
Priority: Major
I'm compiling/ running rules using expert (drools-7.31) and java 13.0.1, and getting
errors like the following:
{code:java}
java.lang.NoClassDefFoundError: org/drools/reflective/classloader/ProjectClassLoader
[context - 1447]: at
org.drools.core.impl.KnowledgeBaseFactory.newKnowledgeBase(KnowledgeBaseFactory.java:106)
[context - 1447]: at
org.drools.core.impl.KnowledgeBaseFactory.newKnowledgeBase(KnowledgeBaseFactory.java:80)
[context - 1447]: at
org.drools.core.impl.KnowledgeBaseFactory.newKnowledgeBase(KnowledgeBaseFactory.java:64)
[context - 1447]: at Reason$Descriptor.reason(Reason.java:459)
[context - 1447]: at Reason.lambda$run$1(Reason.java:82)
[context - 1447]: at
io.javalin.core.security.SecurityUtil.noopAccessManager(SecurityUtil.kt:22)
[context - 1447]: at
io.javalin.http.JavalinServlet$addHandler$protectedHandler$1.handle(JavalinServlet.kt:116)
[context - 1447]: at
io.javalin.http.JavalinServlet$service$2$1.invoke(JavalinServlet.kt:45)
[context - 1447]: at
io.javalin.http.JavalinServlet$service$2$1.invoke(JavalinServlet.kt:24)
[context - 1447]: at
io.javalin.http.JavalinServlet$service$1.invoke(JavalinServlet.kt:123)
[context - 1447]: at
io.javalin.http.JavalinServlet$service$2.invoke(JavalinServlet.kt:40)
[context - 1447]: at io.javalin.http.JavalinServlet.service(JavalinServlet.kt:75)
[context - 1447]: at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
[context - 1447]: at
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:867)
[context - 1447]: at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:542)
[context - 1447]: at
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
[context - 1447]: at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1588)
[context - 1447]: at
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
[context - 1447]: at
io.javalin.core.JavalinServer$start$httpHandler$1.doHandle(JavalinServer.kt:53)
[context - 1447]: at
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
[context - 1447]: at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480)
[context - 1447]: at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1557)
[context - 1447]: at
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
[context - 1447]: at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1247)
[context - 1447]: at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
[context - 1447]: at
org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:61)
[context - 1447]: at
org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:174)
[context - 1447]: at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
[context - 1447]: at org.eclipse.jetty.server.Server.handle(Server.java:502)
[context - 1447]: at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
[context - 1447]: at
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
[context - 1447]: at
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
[context - 1447]: at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
[context - 1447]: at
org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
[context - 1447]: at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
[context - 1447]: at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
[context - 1447]: at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
[context - 1447]: at
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
[context - 1447]: at
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
[context - 1447]: at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
[context - 1447]: at
org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
[context - 1447]: at java.base/java.lang.Thread.run(Thread.java:830)
[context - 1447]: Caused by: java.lang.ClassNotFoundException:
org.drools.reflective.classloader.ProjectClassLoader
[context - 1447]: at
java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
[context - 1447]: at
java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
[context - 1447]: at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
[context - 1447]: ... 42 more
{code}
Is this class missing or removed from the distribution? The related release notes
don't mention anything, and things work fine in drools-7.30 (class located in
drools-core-7.30.0.Final.jar).