5月 10th, 2008at 21:39

Tags: ,

Bean定義ファイル読み込みでorg.xml.sax.SAXParseException

このエントリーをはてなブックマークに追加

Bean定義ファイル読み込みでorg.xml.sax.SAXParseExceptionが発生。

Bean定義ファイルをSpringドキュメントにあわせて以下のように書いてみた。

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"      xsi:schemaLocation="http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

するとどうでしょう。以下のエラーが発生する。

 2007/05/02 1:57:25 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions 情報: Loading XML bean definitions from class path resource [com/daipresents/spring204/beans.xml] 2007/05/02 1:57:26 org.springframework.util.xml.SimpleSaxErrorHandler warning 警告: Ignored XML validation warning org.xml.sax.SAXParseException: SchemaLocation: schemaLocation value = 'http://www.springframework.org/schema/beans/spring-beans-2.0.xsd' must have even number of URI's.   at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)   at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.warning(Unknown Source)   at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)   at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)   at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(Unknown Source)   at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.storeLocations(Unknown Source)   at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(Unknown Source)   at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(Unknown Source)   at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)   at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(Unknown Source)   at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)   at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)   at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)   at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)   at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)   at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)   at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)   at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:76)   at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:351)   at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:303)   at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:280)   at org.springframework.beans.factory.xml.XmlBeanFactory.<init>(XmlBeanFactory.java:73)   at org.springframework.beans.factory.xml.XmlBeanFactory.<init>(XmlBeanFactory.java:61)   at com.daipresents.spring204.test.ClasspathFactory.main(ClasspathFactory.java:15)   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)   at java.lang.reflect.Method.invoke(Unknown Source)   at org.eclipse.ve.internal.java.vce.launcher.remotevm.JavaBeansLauncher.main(JavaBeansLauncher.java:79) java.lang.reflect.InvocationTargetException   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)   at java.lang.reflect.Method.invoke(Unknown Source)   at org.eclipse.ve.internal.java.vce.launcher.remotevm.JavaBeansLauncher.main(JavaBeansLauncher.java:79) Caused by: org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 4 in XML document from class path resource [com/daipresents/spring204/beans.xml] is invalid; nested exception is org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'beans'.   at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:359)   at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:303)   at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:280)   at org.springframework.beans.factory.xml.XmlBeanFactory.<init>(XmlBeanFactory.java:73)   at org.springframework.beans.factory.xml.XmlBeanFactory.<init>(XmlBeanFactory.java:61)   at com.daipresents.spring204.test.ClasspathFactory.main(ClasspathFactory.java:15)   ... 5 more Caused by: org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'beans'.   at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)   at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(Unknown Source)   at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)   at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)   at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(Unknown Source)   at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(Unknown Source)   at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)   at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(Unknown Source)   at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)   at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)   at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)   at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)   at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)   at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)   at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)   at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:76)   at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:351)   ... 10 more

またxercesか。こいつはいろんなところでエラーを出しやがる。Springのsampleフォルダを参考にしてみると、Bean定義ファイルは以下のようになっていた。

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd"><beans> ・・・</beans>

ドキュメントにあるようなXMLスキーマを指定した方法ではなにかしらJarファイルが足りないのかもしれない。今はこのやりかたを利用せずに進めて、そのうち調べようと思う。

このエントリーをはてなブックマークに追加