2013-07-15 10 views
5

mam ten błąd:Wiosna przykład błąd hello world

INFO: Loading XML bean definitions from class path resource [Beans.xml] 
Exception in thread "main" org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 2 in XML document from class path resource [Beans.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 6; The processing instruction target matching "[xX][mM][lL]" is not allowed. 
    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:130) 
    at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:551) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:465) 
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139) 
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83) 
    at com.tutorialspoint.MainApp.main(MainApp.java:10) 

Caused by: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 6; The processing instruction target matching "[xX][mM][lL]" is not allowed. 
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) 
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(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.XMLScanner.reportFatalError(Unknown Source) 
    at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanPIData(Unknown Source) 
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanPIData(Unknown Source) 
    at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanPI(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.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:389) 

mam dodać te biblioteki:

  • commons-logging-1.1.3
  • wiosna-AOP-4.0.0. M1
  • wiosna-aspekty-4.0.0.M1
  • wiosna-fasola-4.0.0.M1
  • wiosna-conte XT-4.0.0.M1
  • wiosna-context-support-4.0.0.M1
  • wiosna-core-4.0.0.M1
  • antlr-runtime-3.0.1

My Kod:

package com.tutorialspoint; 

public class HelloWorld { 
    private String message; 

    public void setMessage(String message){ 
     this.message = message; 
    } 

    public void getMessage(){ 
     System.out.println("Your Message : " + message); 
    } 
} 


package com.tutorialspoint; 

import org.springframework.context.ApplicationContext; 
import org.springframework.context.support.ClassPathXmlApplicationContext; 

public class MainApp { 
    @SuppressWarnings("resource") 
    public static void main(String[] args) { 
     ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml"); 

     HelloWorld obj = (HelloWorld) context.getBean("helloWorld"); 

     obj.getMessage(); 
    } 
} 

Konfiguracja

<?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 
http://www.springframework.org/schema/beans/spring-beans- 
3.0.xsd" 
> 
    <bean id="helloWorld" class="com.tutorialspoint.HelloWorld"> 
     <property name="message" value="Hello World!" /> 
    </bean> 
</beans> 
+0

spróbuj dodać lokalizację schematu na przykład – paary

+0

Podobny błąd został tutaj, myślę, że to powinno działać http: //stackoverflow.com/a/23987300/1572347 –

Odpowiedz

5

Staraj się nie podzielić te XML do wielokrotności linie:

xsi:schemaLocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans- 
3.0.xsd" 

Często znaki nowej linii i białe znaki w wartościach atrybutów XML są traktowane jako literalne. Użyj tego zamiast:

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd" 
+1

dziękuję wszystkim. od czego powinienem zacząć wiosną? masz jakąś książkę lub stronę dla początkujących? Przepraszam, mój angielski nie jest zbyt dobry. – user2582163

+0

Polecam http://www.amazon.com/books/dp/0764574833, ponieważ jest napisany przez Roda Johnsona i Juergena Hoellera (obaj twórcy/lidera Spring Framework) – gerrytan

0

Wystarczy dodać spring-expression-3.x.x.RELEASE słoik poprzez java kompilacji ścieżki

+0

To nie zadziałało, wciąż otrzymuję wyjątek w wątku "main "org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Wiersz 1 w dokumencie XML z zasobu ścieżki klasy [applicationContext.xml] jest nieprawidłowy; Zagnieżdżony wyjątek to org.xml.sax.SAXParseException: Cel instrukcji przetwarzania pasujący do "[xX] [mM] [lL]" jest niedozwolony. – Surya

1

mam ten sam błąd, poprawione, że pierwsza linia powinna Beans.xml powinien zaczynać się (bez pustych linii w pierwszej linii)

1

Miałem ten sam problem. tam nie powinno być miejsca na początku 1. linii tj to linia

no space<?xml version="1.0" encoding="UTF-8"?>