Search code examples
droolsoptaplannerrunnable-jar

Why appear this error when run optaplanner .jar?


I have an optaplanner aplication, and i want to export it as a runnable jar, but when i run the jar, appear a error and I don't know why.

I'm using the Vehicle Routing example, and i want to use the GUI interface without eclipse.

Exception in thread "main" java.lang.NullPointerException
    at org.kie.internal.io.ResourceFactory.newByteArrayResource(ResourceFactory.java:66)
    at org.drools.compiler.kie.builder.impl.AbstractKieModule.getResource(AbstractKieModule.java:308)
    at org.drools.compiler.kie.builder.impl.AbstractKieModule.addResourceToCompiler(AbstractKieModule.java:273)
    at org.drools.compiler.kie.builder.impl.AbstractKieModule.addResourceToCompiler(AbstractKieModule.java:268)
    at org.drools.compiler.kie.builder.impl.AbstractKieProject.buildKnowledgePackages(AbstractKieProject.java:253)
    at org.drools.compiler.kie.builder.impl.AbstractKieProject.verify(AbstractKieProject.java:74)
    at org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildKieProject(KieBuilderImpl.java:267)
    at org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildAll(KieBuilderImpl.java:235)
    at org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildAll(KieBuilderImpl.java:184)
    at org.optaplanner.core.config.score.director.ScoreDirectorFactoryConfig.buildDroolsScoreDirectorFactory(ScoreDirectorFactoryConfig.java:544)
    at org.optaplanner.core.config.score.director.ScoreDirectorFactoryConfig.buildScoreDirectorFactory(ScoreDirectorFactoryConfig.java:351)
    at org.optaplanner.core.config.solver.SolverConfig.buildSolver(SolverConfig.java:255)
    at org.optaplanner.core.impl.solver.AbstractSolverFactory.buildSolver(AbstractSolverFactory.java:61)
    at org.optaplanner.examples.common.app.CommonApp.createSolver(CommonApp.java:136)
    at org.optaplanner.examples.common.app.CommonApp.createSolutionBusiness(CommonApp.java:124)
    at org.optaplanner.examples.common.app.CommonApp.init(CommonApp.java:115)
    at org.optaplanner.examples.common.app.CommonApp.init(CommonApp.java:111)
    at org.optaplanner.examples.pmrouting.app.PMRoutingAPP.main(PMRoutingAPP.java:39)

Solution

  • Because Drools is incompatible with uber jars. Use one of the other score calculators if you really want to run with an uber jar...