我试图将Drool's Cookbook第8章中的简单Drools Planner示例改编为OptaPlanner 6.0.1.Final使用groovy(已经有maven的java版本),类和测试在一个groovy脚本中,在同一个文件夹中是solverConfig.xml和solverRules.drl,如何配置XmlSolverFactory以避免:
groovy technicianAssignationScript.groovy
Caught: com.thoughtworks.xstream.io.StreamException: Cannot create XmlPullParser
com.thoughtworks.xstream.io.StreamException: Cannot create XmlPullParser
at com.thoughtworks.xstream.io.xml.AbstractXppDriver.createReader(AbstractXppDriver.java:56)
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1040)
at org.optaplanner.core.config.solver.XmlSolverFactory.configure(XmlSolverFactory.java:84)
at org.optaplanner.core.config.solver.XmlSolverFactory.configure(XmlSolverFactory.java:74)
at org.optaplanner.core.config.solver.XmlSolverFactory.configure(XmlSolverFactory.java:67)
at org.optaplanner.core.config.solver.XmlSolverFactory$configure.call(Unknown Source)
at BestAvailableTechnicianTest.findBestTechnician(technicianAssignationScript.groovy:294)
at BestAvailableTechnicianTest$findBestTechnician.call(Unknown Source)
at technicianAssignationScript.run(technicianAssignationScript.groovy:379)
我正在使用
groovy -v
Groovy Version: 2.3.0 JVM: 1.7.0_55 Vendor: Oracle Corporation OS: Linux
在脚本中有这种依赖关系:
@Grapes([
@Grab("org.optaplanner:optaplanner-core:6.0.1.Final"),
@Grab("junit:junit:4.4"),
@Grab("org.optaplanner:optaplanner-benchmark:6.0.1.Final"),
// @Grab("commons-lang:commons-lang-2.6"),
@Grab("org.slf4j:slf4j-api:1.7.2"),
@Grab("ch.qos.logback:logback-classic:1.0.9"),
@Grab("com.thoughtworks.xstream:xstream:1.4.3"),
@Grab("org.jdom:jdom:1.1.3"),
@Grab("xpp3:xpp3_min:1.1.4c"),
@Grab("xmlpull:xmlpull:1.1.3.1")
])
答案 0 :(得分:0)
我在optaplanner master(6.1.0.Beta4)上使用xstream 1.4.7和xpp3_min 1.1.4c以及xmlpull 1.1.3.1。但IIRC,optaplanner 6.0.1使用的是xstream 1.4.3,它也应该可以正常工作。
尝试在xstream用户列表中提出这个问题:他们在那里回答了很多。