【发布时间】:2015-06-18 03:56:51
【问题描述】:
我正在尝试使用 optaplanner OSGI-core。 在 Java 标准环境中,我自定义了 Vehiclerouting 示例,以便在没有 UI 的情况下运行它并且一切正常。之后我为这个项目制作了一个 OSGI 包,但是当它启动时我从 Xstream 收到这个错误。
com.thoughtworks.xstream.mapper.CannotResolveClassException: org.optaplanner.core.config.solver.SolverConfig
at com.thoughtworks.xstream.mapper.DefaultMapper.realClass(DefaultMapper.java:79)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
at com.thoughtworks.xstream.mapper.DynamicProxyMapper.realClass(DynamicProxyMapper.java:55)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
at com.thoughtworks.xstream.mapper.PackageAliasingMapper.realClass(PackageAliasingMapper.java:88)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
at com.thoughtworks.xstream.mapper.ClassAliasingMapper.realClass(ClassAliasingMapper.java:79)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
at com.thoughtworks.xstream.mapper.ArrayMapper.realClass(ArrayMapper.java:74)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
从这段代码的 sn-p 引发异常:
@Override
protected Solver createSolver() {
File solver = new File(SOLVER_CONFIG);
SolverFactory solverFactory =SolverFactory.createFromXmlFile(solver);
return solverFactory.buildSolver();
}`
谷歌搜索我发现这是与 Xtream 和 OSGI 上的类加载有关的问题,有人建议将 Xstream 包装在使用它的包中。但在我的情况下,Xstream 方法由第 3 部分捆绑包(Optaplanner-core)调用。
我该如何解决这个问题?
【问题讨论】:
标签: osgi xstream optaplanner apache-servicemix