Java 找不到context.xml文件
在SpringFrameworkforJava中,我使用context.xml文件创建bean,然后使用Java 找不到context.xml文件,java,xml,spring,intellij-idea,Java,Xml,Spring,Intellij Idea,在SpringFrameworkforJava中,我使用context.xml文件创建bean,然后使用ApplicationContext context=newclasspathXMLApplicationContext(“context.xml”) 我的程序引发异常java.io.FileNotFoundException:无法打开类路径资源[context.xml],因为它不存在 该文件已存在。我使用Gradle进行依赖项管理,我的src文件夹(文件所在的位置)在Intellij中标记为
ApplicationContext context=newclasspathXMLApplicationContext(“context.xml”)代码>
我的程序引发异常java.io.FileNotFoundException:无法打开类路径资源[context.xml],因为它不存在
该文件已存在。我使用Gradle进行依赖项管理,我的src文件夹(文件所在的位置)在Intellij中标记为resource。我明白,出于某种原因,即使我的src文件夹应该包含在classpath变量中,gradleruntask也无法从这里获取它
当我使用新的FileSystemXmlApplicationContext(“context.xml”)时代码>相反,一切正常,但我确实需要在作业中使用“类路径”
英语不是我的母语
这是我的“主要”课程:
这是context.xml文件中的我的bean
<bean id="t1000" class="by.zti.main.impl.T1000">
<constructor-arg ref="sonyHead"/>
<constructor-arg ref="toshibaLeg"/>
</bean>
<bean id="sonyHead" class="by.zti.main.impl.SonyHead"/>
<bean id="sonyLeg" class="by.zti.main.impl.SonyLeg"/>
<bean id="toshibaHead" class="by.zti.main.impl.ToshibaHead"/>
<bean id="toshibaLeg" class="by.zti.main.impl.ToshibaLeg"/>
例外文本
Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [context.xml]; nested exception is java.io.FileNotFoundException: class path resource [context.xml] cannot be opened because it does not exist
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:344)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:181)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:217)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:188)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:252)
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:613)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:514)
at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:83)
at by.zti.main.Main.main(Main.java:12)
Caused by: java.io.FileNotFoundException: class path resource [context.xml] cannot be opened because it does not exist
at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:172)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:330)
... 13 more
我想你应该把文件放在src/main/resources/
或者指定另一个路径ClassPathXmlApplicationContext(“src/main/resources/blablabla/context.xml”)
我想你应该把文件放在src/main/resources/
或者指定另一个路径ClassPathXmlApplicationContext(“src/main/resources/blabla/context.xml”)
您应该附加“文件:”即您的url应该像这样“文件:src/main/resources/filename.xml”您应该附加“文件:”即您的url应该像这样“文件:src/main/resources/filename.xml”“这个链接可以帮助你,我认为这是类路径问题。能否将context.xml放在src/main/resources文件夹中。如果您喜欢现有的文件夹结构,那么请确保路径被类路径识别“src folder is marked as resource”-存在问题,资源文件夹应该是“src/main/resources”。此链接的可能副本可以帮助您我认为这是类路径问题。能否将context.xml放在src/main/resources文件夹中。如果您更喜欢现有的文件夹结构,那么请确保路径由类路径“src folder is marked as resource”识别-存在问题,资源文件夹应该是“src/main/resources”,可能重复的src
不应该在类路径上,您的替代示例是incorrect@OrangeDog检查这个:是的,这些答案也很糟糕。这些答案被标记为有用,我不认为所有投票的人都错了。。。可能有很多老年人已经看到了这一点……他们的得票率很高,因为他们让代码发挥了作用。他们仍然可能是错的。src/main/resources
目录是一个源目录,它不应该在类路径上,您也不应该从那里加载资源。src
不应该在类路径上,您的替代示例是incorrect@OrangeDog勾选:是的,这些答案也不好。这些答案被标记为有用,我不认为所有投票的人都错了。。。可能有很多老年人已经看到了这一点……他们的得票率很高,因为他们让代码发挥了作用。他们仍然可能是错的。src/main/resources
目录是一个源目录,它不应该在类路径上,也不应该从那里加载资源。
group 'zti.spring.test'
version '1.0-SNAPSHOT'
apply plugin: 'java'
apply plugin: 'application'
apply plugin: 'idea'
sourceCompatibility = 1.8
targetCompatibility = 1.8
mainClassName = 'by.zti.main.Main'
repositories {
mavenCentral()
}
jar {
baseName = 'gs-gradle'
version = '0.1.0'
}
dependencies {
compile 'org.springframework:spring-context:4.3.6.RELEASE'
compile fileTree(dir:'src', includes: ['/*.xml,/*.properties'])
}
Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [context.xml]; nested exception is java.io.FileNotFoundException: class path resource [context.xml] cannot be opened because it does not exist
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:344)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:181)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:217)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:188)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:252)
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:613)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:514)
at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:83)
at by.zti.main.Main.main(Main.java:12)
Caused by: java.io.FileNotFoundException: class path resource [context.xml] cannot be opened because it does not exist
at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:172)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:330)
... 13 more
/C:/Users/Cvazer/IdeaProjects/spring-test/build/classes/main/
/C:/Users/Cvazer/IdeaProjects/spring-test/build/resources/main
/C:/Users/Cvazer/.gradle/caches/modules-2/files-2.1/org.springframework/spring-context/4.3.6.RELEASE/5f3041020113e3202a7ae9defe36e7b5d2fb87eb/spring-context-4.3.6.RELEASE.jar
/C:/Users/Cvazer/.gradle/caches/modules-2/files-2.1/org.springframework/spring-aop/4.3.6.RELEASE/d70b2393d380cd468d9a14969efaf9022c67c0/spring-aop-4.3.6.RELEASE.jar
/C:/Users/Cvazer/.gradle/caches/modules-2/files-2.1/org.springframework/spring-beans/4.3.6.RELEASE/1585715ed598b76a23dac931c27aa039b189eafb/spring-beans-4.3.6.RELEASE.jar
/C:/Users/Cvazer/.gradle/caches/modules-2/files-2.1/org.springframework/spring-core/4.3.6.RELEASE/690da099c3c2d2536210f0fd06ff3f336de43ad9/spring-core-4.3.6.RELEASE.jar
/C:/Users/Cvazer/.gradle/caches/modules-2/files-2.1/org.springframework/spring-expression/4.3.6.RELEASE/13b53568cfd7b308e70efcbac6cdd0c5d597ba1/spring-expression-4.3.6.RELEASE.jar
/C:/Users/Cvazer/.gradle/caches/modules-2/files-2.1/commons-logging/commons-logging/1.2/4bfc12adfe4842bf07b657f0369c4cb522955686/commons-logging-1.2.jar