2014-01-07 13 views
0

我使用下面的應用程序上下文文件,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" xmlns:context="http://www.springframework.org/schema/context" 
    xsi:schemaLocation="http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context-4.0.xsd 
    http:/www.springframework.org/schema/beans 
    http:/www.springframework.org/schema/beans/spring-beans-4.0.xsd"> 

    <bean id="helloWorld" class="helloworld.api.impl.HelloWorldImpl" /> 
</beans> 

當我讀文件, 我發現了異常,

org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 8 in XML document from file [applicationContext.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 8; columnNumber: 68; cvc-elt.1: Cannot find the declaration of element 'beans'. 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:398) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:335) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:303) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:216) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:187) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:251) 
    at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:127) 
    at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:93) 
    at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:129) 
    at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:540) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:454) 
    at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:140) 
    at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:84) 
    at main.Main.main(Main.java:17) 
Caused by: org.xml.sax.SAXParseException; lineNumber: 8; columnNumber: 68; 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.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$NSContentDriver.scanRootElementHook(Unknown Source) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown Source) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source) 
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(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.doLoadDocument(XmlBeanDefinitionReader.java:428) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390) 
    ... 14 more 

我使用Spring 4.0,我可以通過我的網絡瀏覽器訪問spring beans xsd。

+0

驗證春天在你的classpath(整個事情的核心,背景等),你的架構命名空間 – 2014-01-07 06:52:16

+0

呀春天是我的類路徑 – vvekselva

+0

你可以列出的罐子爲我們命名? – 2014-01-07 06:58:39

回答

1

它缺少構造的元數據;

更改下面

http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans.xsd" 

參考Spring 4.0 Configuration metadata

+0

即使這也不起作用 – vvekselva

+0

@wekselva,同樣的錯誤?你能更新新的堆棧跟蹤嗎? – CycDemo

+0

CycDemo我犯了一個錯誤, http://www.springframework.org/schema/context/spring-context-4.0.xsd http:/www.springframework.org/schema/beans http:/ www。 springframework.org/schema/beans/spring-beans-4.0.xsd「> 而應該是 http://www.springframework.org/schema/context/spring-context-4.0.xsd http:// www .springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd「> – vvekselva

0

我檢查了錯誤日誌,實際的問題不是用xml文件,而是用罐子。

Caused by: org.xml.sax.SAXParseException; lineNumber: 8; columnNumber: 68; cvc-elt.1: Cannot find the declaration of element 'beans'. 

確保您已將所有必需的jar添加到您的類路徑中。

0

嘗試此聲明,而據我所知,該版本不是必需的。

<beans xmlns="http://www.springframework.org/schema/beans" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns:context="http://www.springframework.org/schema/context" 
     xsi:schemaLocation="http://www.springframework.org/schema/beans 
     http://www.springframework.org/schema/beans/spring-beans.xsd 
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> 

還與彈簧4可以使用註釋

package hello; 

import org.springframework.context.ApplicationContext; 
import org.springframework.context.annotation.*; 

@Configuration 
@ComponentScan 
public class Application { 

    @Bean 
    MessageService mockMessageService() { 
     return new MessageService() { 
      public String getMessage() { 
       return "Hello World!"; 
      } 
     }; 
    } 

    public static void main(String[] args) { 
     ApplicationContext context = 
      new AnnotationConfigApplicationContext(Application.class); 
     MessagePrinter printer = context.getBean(MessagePrinter.class); 
     printer.printMessage(); 
    } 
} 

更多在此link