Ошибка тестирования optaplanner Причина: java.lang.InstantiationError: org.drools.core.factmodel.ClassBuilderFactory

Это часть моего конфига 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 , есть ли какой-нибудь помп, который я должен добавить? Большое спасибо.

[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>

person tiezhu    schedule 14.09.2020    source источник
comment
Использование интерфейсов или абстрактных классов вместо конкретных классов - это нормально.   -  person Geoffrey De Smet    schedule 15.09.2020


Ответы (1)


Сделайте mvn dependency:tree - похоже, вы смешиваете несовместимые версии слюни / ки / когито.

person Geoffrey De Smet    schedule 15.09.2020
comment
Ух ты! Большое спасибо ! Я исправляю эту ошибку, изменяя версию optaplanner-benchmark - person tiezhu; 16.09.2020