2014-05-15 55 views
0

我試圖修改第8章中找到的一個簡單的Drools Planner示例,OptaPlanner 6.0.1.Final使用groovy(已經有一個工作Java版本與maven),類和測試在一個Groovy腳本,並在同一個文件夾是solverConfig.xml和solverRules.drl,應該如何XmlSolverFactory被配置爲避免:使用Optaplanner與Groovy的XStream錯誤

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

我在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用戶列表中提出這個問題:他們在那裏回答很多。

+1

我最近有時間創建一個常規的maven項目來閱讀這些文件,並且沒有使用上述依賴關係的錯誤,所以我懷疑問題是我無法從我的本地maven倉庫獲取groovy來解決依賴關係。 – userzc