ClassNotFoundException:org.exolab.castor.xml.XMLException
問題
Spring OXM(オブジェクトXMLマッピング)では、オブジェクトをXMLファイルに変換すると、次のエラーメッセージが表示されます。
Caused by: java.lang.ClassNotFoundException: org.exolab.castor.xml.XMLException at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:252) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) ... 29 more
castor data binding framework
はSpringのoxmに含まれていますか?
解決策
castorはSpring OXMでcastorを使用してXMLをmarshallerまたはunmarshallerにし、このcastor依存性をMavenの `pom.xml`ファイルに追加するために、
spring-oxm.jar
のオプションの依存性です。
<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-oxm</artifactId> <version>3.0.5.RELEASE</version> </dependency> <!-- Uses Castor for XML --> <dependency> <groupId>org.codehaus.castor</groupId> <artifactId>castor</artifactId> <version>1.2</version> </dependency> <!-- Castor need this --> <dependency> <groupId>xerces</groupId> <artifactId>xercesImpl</artifactId> <version>2.8.1</version> </dependency> </dependencies>