Groovyでloading for a different type with name "org/w3c/dom/NamedNodeMap"のLinkageError 誰か助けて
groovyでoutputzの文字数を取得するでWebの簡単な操作ができるようになったので、
会社の環境でテストに使ってみようと思った。
が、動かない。。。
ハマった
誰か解決策を知ってる方がいたら教えてください。m(_ _)m
現象
エラーメッセージは以下。
Caught: java.lang.LinkageError: loader constraint violation: loader (instance of <bootloader>) previously initiated loading for a different type with name "org/w3c/dom/NamedNodeMap"
ソース
ただ、URLにアクセスしようとしただけ。
イントラの中のURLなので、デタラメものに変えてある。
@Grab('net.sourceforge.htmlunit:htmlunit:2.8') import com.gargoylesoftware.htmlunit.WebClient webClient = new WebClient() page = webClient.getPage('http://hogefuta.co.jp/foobar')
環境
Javaのバージョン
java version "1.6.0_23" Java(TM) SE Runtime Environment (build 1.6.0_23-b05) Java HotSpot(TM) Client VM (build 19.0-b09, mixed mode, sharing)
Groovyのバージョン
Groovy Version: 1.7.5 JVM: 1.6.0_23
試したこと
動かないので、いろいろ試した。
- CLASSPATHにhtmlunit\libのjarを全て設定する
- オプションの-cpにhtmlunit\libのjarを全て設定する
- GROOVY_HOME\libにhtmlunit\libのjarを全てコピーする
- JAVA_HOME\lib\jre\lib\extにhtmlunit\libのjarを全てコピーする
全て現象変わらず。
確認したこと1
println javax.xml.parsers.DocumentBuilderFactory.newInstance().getClass()
動かない環境
class org.apache.xerces.jaxp.DocumentBuilderFactoryImpl
動く環境
class org.apache.xerces.jaxp.DocumentBuilderFactoryImpl
変わらない。
確認したこと2
def printClassLoader(Class cls) { ClassLoader loader = cls.classLoader while (loader) { println loader.class println loader.URLs.join("\n") println "\n\n" loader = loader.parent } } printClassLoader(org.w3c.dom.NamedNodeMap.class)
動かない環境
Classloaderが表示される
class org.codehaus.groovy.tools.RootLoader file:/C:/bin/htmlunit/htmlunit-2.8/lib/apache-mime4j-0.6.jar file:/C:/bin/htmlunit/htmlunit-2.8/lib/commons-codec-1.4.jar file:/C:/bin/htmlunit/htmlunit-2.8/lib/commons-collections-3.2.1.jar file:/C:/bin/htmlunit/htmlunit-2.8/lib/commons-io-1.4.jar file:/C:/bin/htmlunit/htmlunit-2.8/lib/commons-lang-2.4.jar file:/C:/bin/htmlunit/htmlunit-2.8/lib/commons-logging-1.1.1.jar file:/C:/bin/htmlunit/htmlunit-2.8/lib/cssparser-0.9.5.jar file:/C:/bin/htmlunit/htmlunit-2.8/lib/htmlunit-2.8.jar file:/C:/bin/htmlunit/htmlunit-2.8/lib/htmlunit-core-js-2.8.jar file:/C:/bin/htmlunit/htmlunit-2.8/lib/httpclient-4.0.1.jar file:/C:/bin/htmlunit/htmlunit-2.8/lib/httpcore-4.0.1.jar file:/C:/bin/htmlunit/htmlunit-2.8/lib/httpmime-4.0.1.jar file:/C:/bin/htmlunit/htmlunit-2.8/lib/nekohtml-1.9.14.jar file:/C:/bin/htmlunit/htmlunit-2.8/lib/sac-1.3.jar file:/C:/bin/htmlunit/htmlunit-2.8/lib/serializer-2.7.1.jar file:/C:/bin/htmlunit/htmlunit-2.8/lib/xalan-2.7.1.jar file:/C:/bin/htmlunit/htmlunit-2.8/lib/xercesImpl-2.9.1.jar file:/C:/bin/htmlunit/htmlunit-2.8/lib/xml-apis-1.3.04.jar file:/C:/work/./ file:/C:/bin/groovy/groovy1.7.5/lib/ant-1.8.1.jar file:/C:/bin/groovy/groovy1.7.5/lib/ant-antlr-1.8.1.jar file:/C:/bin/groovy/groovy1.7.5/lib/ant-junit-1.8.1.jar file:/C:/bin/groovy/groovy1.7.5/lib/ant-launcher-1.8.1.jar file:/C:/bin/groovy/groovy1.7.5/lib/ant-nodeps-1.8.1.jar file:/C:/bin/groovy/groovy1.7.5/lib/antlr-2.7.7.jar file:/C:/bin/groovy/groovy1.7.5/lib/asm-3.2.jar file:/C:/bin/groovy/groovy1.7.5/lib/asm-analysis-3.2.jar file:/C:/bin/groovy/groovy1.7.5/lib/asm-commons-3.2.jar file:/C:/bin/groovy/groovy1.7.5/lib/asm-tree-3.2.jar file:/C:/bin/groovy/groovy1.7.5/lib/asm-util-3.2.jar file:/C:/bin/groovy/groovy1.7.5/lib/bsf-2.4.0.jar file:/C:/bin/groovy/groovy1.7.5/lib/commons-cli-1.2.jar file:/C:/bin/groovy/groovy1.7.5/lib/commons-logging-1.1.1.jar file:/C:/bin/groovy/groovy1.7.5/lib/groovy-1.7.5.jar file:/C:/bin/groovy/groovy1.7.5/lib/ivy-2.2.0-rc1.jar file:/C:/bin/groovy/groovy1.7.5/lib/jansi-1.2.1.jar file:/C:/bin/groovy/groovy1.7.5/lib/jline-0.9.94.jar file:/C:/bin/groovy/groovy1.7.5/lib/jsp-api-2.0.jar file:/C:/bin/groovy/groovy1.7.5/lib/junit-4.8.1.jar file:/C:/bin/groovy/groovy1.7.5/lib/servlet-api-2.4.jar file:/C:/bin/groovy/groovy1.7.5/lib/xstream-1.3.1.jar file:/C:/bin/java/JDK1.6.0_23/lib/tools.jar class sun.misc.Launcher$AppClassLoader file:/C:/bin/groovy/groovy1.7.5/lib/groovy-1.7.5.jar class sun.misc.Launcher$ExtClassLoader file:/C:/bin/java/JDK1.6.0_23/jre/lib/ext/dnsns.jar file:/C:/bin/java/JDK1.6.0_23/jre/lib/ext/localedata.jar file:/C:/bin/java/JDK1.6.0_23/jre/lib/ext/sunjce_provider.jar file:/C:/bin/java/JDK1.6.0_23/jre/lib/ext/sunmscapi.jar file:/C:/bin/java/JDK1.6.0_23/jre/lib/ext/sunpkcs11.jar
動く環境
なにも表示されない
差異があるのだが、どうすれば解決するんだろう。
気になるモノ
ムダを省いたシンプルなデザインで、読み終わった新聞や雑誌までインテリアのように見せてしまう、スタイリッシュなニューズラック
アンジェ(インテリア雑貨)
¥ 2,520(税込、送料別)
価格は記載時点のものです。購入前にご確認ください。