optaplanner基准测试失败,原因是:java.lang.InstantitionError:org.drools



optaplanner的配置中有一部分。

<solutionClass>com.core.domain.schedule.WorkSchedule</solutionClass>
<entityClass>com.core.domain.Arrange.IWorkArrange</entityClass>
<entityClass>com.core.domain.BasicConstruct.ArrangeUnit.IArrangeUnit</entityClass>
<entityClass>com.core.domain.Arrange.InterruptionArrange.IInterruptionArrange</entityClass>

是因为IWorkArrange、IArrangeUnit和IInterruptionArrange是接口吗?

Exception in thread "main" org.optaplanner.benchmark.api.PlannerBenchmarkException: Benchmarking failed: failureCount (1). The exception of the firstFailureSingleBenchmarkRunner (Problem_0_local Search_0) is chained.
at org.optaplanner.benchmark.impl.DefaultPlannerBenchmark.benchmarkingEnded(DefaultPlannerBenchmark.java:335)
at org.optaplanner.benchmark.impl.DefaultPlannerBenchmark.benchmark(DefaultPlannerBenchmark.java:106)
at org.optaplanner.benchmark.impl.DefaultPlannerBenchmark.benchmarkAndShowReportInBrowser(DefaultPlannerBenchmark.java:433)
at com.ctrip.hotel.basicModel.helloWorld.main(helloWorld.java:116)
Caused by: java.lang.InstantiationError: org.drools.core.factmodel.ClassBuilderFactory
at org.drools.compiler.builder.impl.KnowledgeBuilderConfigurationImpl.init(KnowledgeBuilderConfigurationImpl.java:262)
at org.drools.compiler.builder.impl.KnowledgeBuilderConfigurationImpl.init(KnowledgeBuilderConfigurationImpl.java:191)
at org.drools.compiler.builder.impl.KnowledgeBuilderConfigurationImpl.<init>(KnowledgeBuilderConfigurationImpl.java:159)
at org.drools.compiler.kie.builder.impl.AbstractKieProject.getBuilderConfiguration(AbstractKieProject.java:302)
at org.drools.compiler.kie.builder.impl.AbstractKieProject.createKnowledgeBuilder(AbstractKieProject.java:288)
at org.drools.compiler.kie.builder.impl.AbstractKieProject.buildKnowledgePackages(AbstractKieProject.java:213)
at org.drools.compiler.kie.builder.impl.AbstractKieProject.verify(AbstractKieProject.java:75)
at org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildKieProject(KieBuilderImpl.java:274)
at org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildAll(KieBuilderImpl.java:242)
at org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildAll(KieBuilderImpl.java:199)
at org.optaplanner.core.config.score.director.ScoreDirectorFactoryConfig.buildDroolsScoreDirectorFactory(ScoreDirectorFactoryConfig.java:683)
at org.optaplanner.core.config.score.director.ScoreDirectorFactoryConfig.buildScoreDirectorFactory(ScoreDirectorFactoryConfig.java:464)
at org.optaplanner.core.config.solver.SolverConfig.buildScoreDirectorFactory(SolverConfig.java:606)
at org.optaplanner.core.config.solver.SolverConfig.buildSolver(SolverConfig.java:514)
at org.optaplanner.core.impl.solver.DefaultSolverFactory.buildSolver(DefaultSolverFactory.java:49)
at org.optaplanner.benchmark.impl.SubSingleBenchmarkRunner.call(SubSingleBenchmarkRunner.java:104)
at org.optaplanner.benchmark.impl.SubSingleBenchmarkRunner.call(SubSingleBenchmarkRunner.java:35)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

这是maven依赖,有什么pom我应该添加吗?非常感谢。

[INFO] - org.optaplanner:optaplanner-benchmark:jar:7.42.0.Final:compile
[INFO]    +- org.kie:kie-api:jar:7.42.0.Final:compile
[INFO]    |  - org.kie.soup:kie-soup-maven- 
support:jar:7.42.0.Final:compile
[INFO]    +- org.optaplanner:optaplanner-persistence- 
common:jar:7.42.0.Final:compile
[INFO]    +- org.optaplanner:optaplanner-persistence- 
xstream:jar:7.42.0.Final:compile
[INFO]    +- org.optaplanner:optaplanner-persistence- 
jaxb:jar:7.42.0.Final:compile
[INFO]    |  - org.jboss.spec.javax.xml.bind:jboss-jaxb- 
api_2.3_spec:jar:1.0.1.Final:compile
[INFO]    +- org.drools:drools-core:jar:7.42.0.Final:compile
[INFO]    |  +- org.mvel:mvel2:jar:2.4.8.Final:compile
[INFO]    |  +- org.kie.soup:kie-soup-xstream:jar:7.42.0.Final:compile
[INFO]    |  +- org.drools:drools-core-reflective:jar:7.42.0.Final:compile
[INFO]    |  +- org.drools:drools-core-dynamic:jar:7.42.0.Final:compile
[INFO]    |  - org.kie.soup:kie-soup-project-datamodel- 
commons:jar:7.42.0.Final:compile
[INFO]    |     - org.kie.soup:kie-soup-project-datamodel- 
api:jar:7.42.0.Final:compile

我补充说这不起作用。我补充说这不起作用。

<groupId>org.kie.kogito</groupId>
<artifactId>kogito-drools</artifactId>
<version>0.10.1</version>

做一个mvn dependency:tree——看起来你在混合不兼容的drowls/kie/kogito版本。

相关内容