Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring文件系统XMLApplicationContext don';找不到bean配置文件并出错_Java_Spring_Spring Mvc_Applicationcontext - Fatal编程技术网

Java Spring文件系统XMLApplicationContext don';找不到bean配置文件并出错

Java Spring文件系统XMLApplicationContext don';找不到bean配置文件并出错,java,spring,spring-mvc,applicationcontext,Java,Spring,Spring Mvc,Applicationcontext,我正在尝试执行下面的Spring“Hello World”示例,该示例使用FileSystemXmlApplicationContext作为ApplicationContext接口的实现 此实现必须将XML bean配置的完整路径作为构造函数参数,类似于前面的示例: ApplicationContext context = new FileSystemXmlApplicationContext("C:/Users/ZARA/workspace/HelloSpring/src/Beans.xml"

我正在尝试执行下面的Spring“Hello World”示例,该示例使用FileSystemXmlApplicationContext作为ApplicationContext接口的实现

此实现必须将XML bean配置的完整路径作为构造函数参数,类似于前面的示例:

ApplicationContext context = new FileSystemXmlApplicationContext("C:/Users/ZARA/workspace/HelloSpring/src/Beans.xml");
我使用Linux,我的Beans配置文件位于以下路径下: /home/andrea/Documents/ws/myapplicationcontextexample/src/main/java/Beans.xml,因此在我的代码中:

ApplicationContext context = new FileSystemXmlApplicationContext("/home/andrea/Documents/ws/myapplicationcontextexample/src/main/java/Beans.xml");
问题是,当我尝试运行我的应用程序时,在STS\Eclipse控制台中,我有以下错误消息(似乎找不到该文件):

INFO:从文件[/home/andrea/Documents/ws/myapplicationcontextexample/home/andrea/Documents/ws/myapplicationcontextexample/src/main/java/Beans.XML]加载XMLBean定义
线程“main”org.springframework.beans.factory.BeanDefinitionStoreException:IOException解析文件[/home/andrea/Documents/ws/myapplicationcontextexample/home/andrea/Documents/ws/myapplicationcontextexample/src/main/java/beans.XML]中的XML文档;嵌套异常为java.io.FileNotFoundException:home/andrea/Documents/ws/myapplicationcontextexample/src/main/java/Beans.xml(文件o目录非esistente)
位于org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:341)
位于org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
位于org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174)
位于org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:209)
位于org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180)
位于org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:243)
位于org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:127)
位于org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:93)
位于org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:131)
位于org.springframework.context.support.AbstractApplicationContext.AcquitainFreshBeanFactory(AbstractApplicationContext.java:522)
位于org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:436)
位于org.springframework.context.support.FileSystemXmlApplicationContext。(FileSystemXmlApplicationContext.java:140)
位于org.springframework.context.support.FileSystemXmlApplicationContext。(FileSystemXmlApplicationContext.java:84)
位于org.andrea.myexample.myapplicationcontextexample.MainApp.main(MainApp.java:14)
原因:java.io.FileNotFoundException:home/andrea/Documents/ws/myapplicationcontextexample/src/main/java/Beans.xml(文件o目录非esistente)
在java.io.FileInputStream.open(本机方法)
位于java.io.FileInputStream。(FileInputStream.java:138)
位于org.springframework.core.io.FileSystemResource.getInputStream(FileSystemResource.java:113)
位于org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:328)
... 还有13个
为什么??我怎样才能解决这个问题

Tnx

安德烈

注意:普通路径将始终被解释为相对于当前VM工作目录,即使它们以斜杠开头。(这与Servlet容器中的语义一致。)使用显式的“file:”前缀强制执行绝对文件路径。

参考:

注意:普通路径将始终被解释为相对于当前VM工作目录,即使它们以斜杠开头。(这与Servlet容器中的语义一致。)使用显式的“file:”前缀强制执行绝对文件路径。


参考:

它看起来像是在使用您的主目录,然后将额外的路径信息附加到它。尝试将代码更改为:ApplicationContext context=new FileSystemXmlApplicationContext(“src/main/java/Beans.xml”);好的,现在可以正常工作了……但是为什么自动使用定义了这个路径:“/home/andrea/Documents/ws/myapplicationcontextexample/”?在java中,有一个系统级属性,我相信它被称为“user.dir”,它是应用程序的当前工作目录。对于Eclipse,我相信它默认为项目的文件夹。我相信,您可以在Eclipse启动设置中修改starup目录。它看起来像是在使用您的主目录,然后将额外的路径信息附加到它。尝试将代码更改为:ApplicationContext context=new FileSystemXmlApplicationContext(“src/main/java/Beans.xml”);好的,现在可以正常工作了……但是为什么自动使用定义了这个路径:“/home/andrea/Documents/ws/myapplicationcontextexample/”?在java中,有一个系统级属性,我相信它被称为“user.dir”,它是应用程序的当前工作目录。对于Eclipse,我相信它默认为项目的文件夹。我相信你可以在Eclipse启动设置中修改starup目录。gr8它在Ubuntu上工作。之前我想知道为什么FileSystemXmlApplicationContext可以在windows上工作,而不能在Linux上工作!!!gr8它在Ubuntu上工作。之前我想知道为什么FileSystemXmlApplicationContext可以在windows上工作,而不能在Linux上工作!!!
INFO: Loading XML bean definitions from file [/home/andrea/Documents/ws/myapplicationcontextexample/home/andrea/Documents/ws/myapplicationcontextexample/src/main/java/Beans.xml]
Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from file [/home/andrea/Documents/ws/myapplicationcontextexample/home/andrea/Documents/ws/myapplicationcontextexample/src/main/java/Beans.xml]; nested exception is java.io.FileNotFoundException: home/andrea/Documents/ws/myapplicationcontextexample/src/main/java/Beans.xml (File o directory non esistente)
    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:522)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:436)
    at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:140)
    at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:84)
    at org.andrea.myexample.myapplicationcontextexample.MainApp.main(MainApp.java:14)
Caused by: java.io.FileNotFoundException: home/andrea/Documents/ws/myapplicationcontextexample/src/main/java/Beans.xml (File o directory non esistente)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:138)
    at org.springframework.core.io.FileSystemResource.getInputStream(FileSystemResource.java:113)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:328)
    ... 13 more