2013-10-16 20 views
1

我有問題試圖運行我的第一個在我的控制檯顯示Hello world的應用程序。我收到這個錯誤。我無法運行我的第一個Spring應用程序Hello World?我添加了所有的罐子

Oct 16, 2013 10:24:37 AM org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh 
INFO: Refreshing org[email protected]5d764be1: startup date [Wed Oct 16 10:24:37 EAT 2013]; root of context hierarchy 
Oct 16, 2013 10:24:37 AM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions 
INFO: Loading XML bean definitions from class path resource [Beans.xml] 
Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [Beans.xml]; nested exception is java.io.FileNotFoundException: class path resource [Beans.xml] cannot be opened because it does not exist 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:341) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:209) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:243) 
    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:131) 
    at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:527) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:441) 
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139) 
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83) 
    at come.tutorialspoint.MainApp.main(MainApp.java:10) 
Caused by: java.io.FileNotFoundException: class path resource [Beans.xml] cannot be opened because it does not exist 
    at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:157) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:328) 
    ... 13 more 

這裏是beans.xml的文件:

<?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> 

我通過右擊並加入Android的.xml文件創建的確切包中的beans.xml文件。 這裏是java類:

package come.tutorialspoint; 

public class HelloWorld { 
    private String message; 

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

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

} 

這裏是主類:

根據您的問題最後的意見之一
public class MainApp { 
public static void main(String[] args) { 
    ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml"); 
    HelloWorld obj = (HelloWorld) context.getBean("helloWorld"); 
    obj.getMessage(); 
    } 
} 
+0

那麼它無法找到Beans.xml ...所以你有這個文件,它在哪裏? –

+0

請在這裏附上啓動應用程序上下文和您的項目結構(文件夾和每個文件所在的位置)的代碼 – Avi

+0

@JonSkeet我的包中有Beans.xml文件。我會發布確切的代碼。 – link

回答

0

,你beans.xml的是在錯誤的位置。選項:

  • 移動的beans.xml到 「的src /主/資源/ beans.xml的」

  • 移動的beans.xml到「的src/main/JAVA /豆.XML」

  • ClassPathXmlApplicationContext("Beans.xml")更改爲ClassPathXmlApplicationContext("come/tutorialspoint/Beans.xml");

第一個選項是每個Java/Maven約定的首選選項。

您的錯誤是ClassPathXmlApplicationContext需要一個類路徑位置,並且包含任何包信息。您的Beans.xml目前位於「come.tutorialspoint」包中;

欲瞭解更多信息:

+0

剛注意到我回答了自上次活動以來差不多八個月的問題。不確定爲什麼它出現在最近的問題提要中。 – kaliatech

0

讓你Bean.xml在同一個包中的Java文件,轉而使用:

ClassPathXmlApplicationContext("Beans.xml") 

使用:

ClassPathXmlApplicationContext("come/tutorialspoint/Beans.xml"); 
相關問題