Reputation: 3
The project runs normally in eclipse, but there is a problem when the project is packaged and runs in the terminal. How should this problem be solved?
D:>java -jar optaplanner-examples-7.4.1.Final-jar-with-dependencies.jar D:\roster_450.xml 100 Exception in thread "main" java.lang.ExceptionInInitializerError at org.kie.api.internal.utils.ServiceRegistry.getInstance(ServiceRegistry.java:27) at org.kie.api.KieServices$Factory$LazyHolder.(KieServices.java:332) at org.kie.api.KieServices$Factory.get(KieServices.java:339) at org.optaplanner.core.config.score.director.ScoreDirectorFactoryConfig.buildDroolsScoreDirectorFactory(ScoreDirectorFactoryConfig.java:460) at org.optaplanner.core.config.score.director.ScoreDirectorFactoryConfig.buildScoreDirectorFactory(ScoreDirectorFactoryConfig.java:331) at org.optaplanner.core.config.solver.SolverConfig.buildSolver(SolverConfig.java:220) at org.optaplanner.core.impl.solver.AbstractSolverFactory.buildSolver(AbstractSolverFactory.java:61) at org.optaplanner.examples.common.app.CommonApp.createSolver(CommonApp.java:105) at org.optaplanner.examples.nurserostering.app.NurseRosteringApp.createSolutionBusiness(NurseRosteringApp.java:94) at org.optaplanner.examples.nurserostering.app.NurseRosteringApp.init(NurseRosteringApp.java:85) at org.optaplanner.examples.nurserostering.app.NurseRosteringApp.main(NurseRosteringApp.java:77) Caused by: java.lang.RuntimeException: Child services [org.kie.api.internal.assembler.KieAssemblers] have no parent at org.kie.api.internal.utils.ServiceDiscoveryImpl.buildMap(ServiceDiscoveryImpl.java:186) at org.kie.api.internal.utils.ServiceDiscoveryImpl.getServices(ServiceDiscoveryImpl.java:97) at org.kie.api.internal.utils.ServiceRegistryImpl.(ServiceRegistryImpl.java:36) at org.kie.api.internal.utils.ServiceRegistryImpl$LazyHolder.(ServiceRegistryImpl.java:32) ... 11 more
Upvotes: 0
Views: 141
Reputation: 27322
Drools doesn't like uber-jarring because several jars have a META-INF directory with files with the same name. So last-one-wins.
Either don't use uber-jarring or doing use Drools score calculation.
Upvotes: 1