Uploaded image for project: 'Drools'
  1. Drools
  2. DROOLS-4952

drools-7.31 expert missing/ dropped ProjectClassLoader class?

    XMLWordPrintable

Details

    • Bug
    • Resolution: Not a Bug
    • Major
    • None
    • 7.31.0.Final
    • core engine
    • None
    • Hide

      Compile/ Run rules with dsl using drools-7.31.

      Show
      Compile/ Run rules with dsl using drools-7.31.
    • NEW
    • NEW

    Description

      I'm compiling/ running rules using expert (drools-7.31) and java 13.0.1, and getting errors like the following:

      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
      
      

      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).

      Attachments

        Activity

          People

            mfusco@redhat.com Mario Fusco
            jharrison-1 John Harrison (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: