0

I have Optaplanner 7.40.0 running in a WildFly 23.0.2 with OpenJDK11. After upgrading to Optaplanner 8.25.0 I get the error

java.lang.IllegalArgumentException: Property 'http://javax.xml.XMLConstants/property/accessExternalDTD'

Therefore I use another DocumentBuilder as SystemProperty:

- Djavax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl

After that the Config can be loaded. However, I get the following error:

  location: package org.drools.ancompiler, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (4:30) : package org.drools.core.rule.accessor does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (6:46) : package org.drools.modelcompiler.constraints does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (7:29) : package org.drools.core.rule does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (8:45) : package org.drools.modelcompiler.constraints does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (9:29) : package org.drools.core.rule does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (10:31) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (11:45) : package org.drools.modelcompiler.constraints does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (12:29) : package org.drools.core.rule does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (13:31) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (14:45) : package org.drools.modelcompiler.constraints does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (15:29) : package org.drools.core.rule does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (16:31) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (17:45) : package org.drools.modelcompiler.constraints does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (18:29) : package org.drools.core.rule does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (19:45) : package org.drools.modelcompiler.constraints does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (20:29) : package org.drools.core.rule does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (21:31) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (22:45) : package org.drools.modelcompiler.constraints does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (23:29) : package org.drools.core.rule does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (24:31) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (25:31) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (26:45) : package org.drools.modelcompiler.constraints does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (27:29) : package org.drools.core.rule does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (28:31) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (29:45) : package org.drools.modelcompiler.constraints does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (30:29) : package org.drools.core.rule does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (31:45) : package org.drools.modelcompiler.constraints does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (32:29) : package org.drools.core.rule does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (33:31) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (34:45) : package org.drools.modelcompiler.constraints does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (35:29) : package org.drools.core.rule does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (36:31) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (37:45) : package org.drools.modelcompiler.constraints does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (38:29) : package org.drools.core.rule does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (39:31) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (40:45) : package org.drools.modelcompiler.constraints does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (41:29) : package org.drools.core.rule does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (42:31) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (43:45) : package org.drools.modelcompiler.constraints does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (44:29) : package org.drools.core.rule does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (45:31) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (46:96) : package org.drools.core.rule.accessor does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (46:172) : package org.drools.core.util.index does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (49:109) : package org.drools.core.common does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (59:55) : package org.drools.core.common does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (124:55) : package org.drools.core.common does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (147:63) : package org.drools.core.common does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (147:113) : package org.drools.core.common does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (147:164) : package org.drools.core.common does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (192:63) : package org.drools.core.common does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (192:113) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (192:179) : package org.drools.core.common does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (192:230) : package org.drools.core.common does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (250:64) : package org.kie.api.definition.rule does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (254:65) : package org.kie.api.definition.rule does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (258:63) : package org.drools.core.common does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (259:63) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (260:63) : package org.drools.core.common does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (261:63) : package org.drools.core.common does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (62:70) : package org.drools.modelcompiler.constraints does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (62:113) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (65:70) : package org.drools.modelcompiler.constraints does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (65:113) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (68:57) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (71:70) : package org.drools.modelcompiler.constraints does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (71:113) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (74:57) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (77:71) : package org.drools.modelcompiler.constraints does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (77:114) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (80:58) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (83:71) : package org.drools.modelcompiler.constraints does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (83:114) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (86:71) : package org.drools.modelcompiler.constraints does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (86:114) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (89:58) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (92:71) : package org.drools.modelcompiler.constraints does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (92:114) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (95:58) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (98:58) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (101:71) : package org.drools.modelcompiler.constraints does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (101:114) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (104:58) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (107:71) : package org.drools.modelcompiler.constraints does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (107:114) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (110:71) : package org.drools.modelcompiler.constraints does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (110:114) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (113:58) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (116:71) : package org.drools.modelcompiler.constraints does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (116:114) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (119:58) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (127:71) : package org.drools.modelcompiler.constraints does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (127:114) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (130:58) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (133:71) : package org.drools.modelcompiler.constraints does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (133:114) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (136:58) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (139:71) : package org.drools.modelcompiler.constraints does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (139:114) : package org.drools.core.reteoo does not exist, org/drools/ancompiler/Compiledcom_mytest_test_task_TaskNetwork31358574213.java (142:58) : package org.drools.core.reteoo does not exist]
    at deployment.mytest.war//org.kie.memorycompiler.KieMemoryCompiler.compileNoLoad(KieMemoryCompiler.java:136)
    at deployment.mytest.war//org.kie.memorycompiler.KieMemoryCompiler.compileNoLoad(KieMemoryCompiler.java:104)
    at deployment.mytest.war//org.kie.memorycompiler.KieMemoryCompiler.compile(KieMemoryCompiler.java:56)
    at deployment.mytest.war//org.kie.memorycompiler.KieMemoryCompiler.compile(KieMemoryCompiler.java:42)
    at deployment.mytest.war//org.drools.ancompiler.KieBaseUpdaterANC.inMemoryUpdate(KieBaseUpdaterANC.java:66)
    at deployment.mytest.war//org.drools.ancompiler.KieBaseUpdaterANC.run(KieBaseUpdaterANC.java:52)
    at deployment.mytest.war//org.drools.ancompiler.KieBaseUpdaterANC.generateAndSetInMemoryANC(KieBaseUpdaterANC.java:99)
    at deployment.mytest.war//org.optaplanner.constraint.streams.drools.DroolsConstraintStreamScoreDirectorFactory.buildKieBaseFromModel(DroolsConstraintStreamScoreDirectorFactory.java:97)
    at deployment.mytest.war//org.optaplanner.constraint.streams.drools.DroolsConstraintStreamScoreDirectorFactory.buildKieBase(DroolsConstraintStreamScoreDirectorFactory.java:86)
    at deployment.mytest.war//org.optaplanner.constraint.streams.drools.DroolsConstraintStreamScoreDirectorFactory.<init>(DroolsConstraintStreamScoreDirectorFactory.java:53)
    at deployment.mytest.war//org.optaplanner.constraint.streams.drools.DroolsConstraintStreamScoreDirectorFactoryService.buildScoreDirectorFactory(DroolsConstraintStreamScoreDirectorFactoryService.java:71)
    at deployment.mytest.war//org.optaplanner.constraint.streams.drools.DroolsConstraintStreamScoreDirectorFactoryService.lambda$buildScoreDirectorFactory$0(DroolsConstraintStreamScoreDirectorFactoryService.java:50)
    at deployment.mytest.war//org.optaplanner.core.impl.score.director.ScoreDirectorFactoryFactory.decideMultipleScoreDirectorFactories(ScoreDirectorFactoryFactory.java:111)
    at deployment.mytest.war//org.optaplanner.core.impl.score.director.ScoreDirectorFactoryFactory.buildScoreDirectorFactory(ScoreDirectorFactoryFactory.java:39)

I just pulled Optaplanner into the project as a Maven dependency:

      <dependency>
        <groupId>org.optaplanner</groupId>
        <artifactId>optaplanner-core</artifactId>
        <version>8.25.0.Final</version>
      </dependency>

I tried also optaplanner-core-impl as artifactId. But then I get this exception:

java.lang.IllegalStateException: Constraint Streams requested via constraintProviderClass (class ...) but the supporting classes were not found on the classpath.

What is the correct way to include OptaPlanner 8.25.0 into WildFly 23.0.2?

Peter
  • 23
  • 3
  • 1
    We have never tested OP against Wildfly, only Quarkus. That said, if you show us your `mvn dependency:tree`, that may give some clues. – Lukáš Petrovický Sep 16 '22 at 15:53
  • 1
    Given that this exception is caused by Drools, you might want to try upgrading to 8.27 and use [Bavet](https://www.optaplanner.org/blog/2022/09/01/Bavet-a-faster-score-engine-for-OptaPlanner.html) instead. – Geoffrey De Smet Sep 16 '22 at 18:38
  • 1
    Using optaplanner-core is correct, that pulls in optaplanner-core-impl and other required modules – Geoffrey De Smet Sep 16 '22 at 18:39

2 Answers2

1

Using optaplanner-core is the correct way of including OptaPlanner in your project. optaplanner-core-impl will cause missing dependencies, as you pointed out.

We have never tested OptaPlanner against WildFly - if you can reproduce the problem against the latest version of Wildfly, please file a JIRA with detailed steps to reproduce.

Finally, the original error comes from Drools Alpha Network Compiler. ANC can be disabled in the solver config, and that will likely make the error go away. That said, ANC brings significant performance improvements to the solver, which you will be losing.

Lukáš Petrovický
  • 3,945
  • 1
  • 11
  • 20
0

Thank you very much,

now it works. I have done the following steps:

  1. swapped DocumentBuilder
-Djavax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
  1. upgraded Optaplanner to 8.27.0.Final
  2. score engine changed to bavet
Peter
  • 23
  • 3