Groovy 1.5.7 出现java.lang.LinkageError问题

     最近用Groovy编写测试脚本的时候,出现一个问题,在Groovy 1.5.7下面 groovy会读取jdk下面自带的一个dom处理包(org.w3c.dom),会和groovy脚本里面用到的watij库里面自带的xml-apis.jar冲突,因为版本不一样.

 

     报的错如下:

 

      Caught: java.lang.LinkageError: loader constraint violation: loader (instance of <bootloader>) previously initiated loading for a different type with name "org/w3c/dom/NamedNodeMap"

   

    网上查了资料 搞了很久,最后查到http://jira.codehaus.org/browse/GROOVY-3356,发现症状一样 原来是groovy一个bug,目前该bug的状态是open,该bug的相关描述:

     

With Groovy versions 1.5.7 onwards there is a problem where Groovy loads
DOM classes from the Java SDK in its RootLoader constructor. 
This makes it incompatible with XML parsing libraries having different
versions of DOM interfaces. For example, with Oracle XML Parser I get:

 

 

 

      既然还没有修复,我尝试退到groovy 1.5.6,恩 不再报错,看来是1..5.7自己的问题。

 

     算了,先用1.5.6吧,反正差别也不大。

   

     如果哪位高手找到更好的解决方法,请不吝赐教!

你可能感兴趣的:(java,oracle,xml,脚本,groovy)