IOException从类路径资源解析XML文档

Wil*_*ill 12 java xml spring classpath

好的,我正在尝试将mavenise作为一个项目.但是我的项目找不到包含一些bean的xml文件.combined2.xml

我把它定义为:

    public RepeatingGrpPoC() {
    appContext = new ClassPathXmlApplicationContext(
            new String[] { "src/main/java/resources/combined2.xml",});
    c = 0;    
}
Run Code Online (Sandbox Code Playgroud)

然而,由于我不知道的原因,我不断得到错误.

    public RepeatingGrpPoC() {
    appContext = new ClassPathXmlApplicationContext(
            new String[] { "src/main/java/resources/combined2.xml",});
    c = 0;    
}
Run Code Online (Sandbox Code Playgroud)

引起:java.io.FileNotFoundException:类路径资源[src/main/java/resources/combined2.xml]无法打开,因为org.springframework.core.io.ClassPathResource.getInputStream中不存在(ClassPathResource.java: 141)at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:328)... 14更多

程序在哪里寻找这个文件,因为我已经给它相对路径?

dog*_*ane 33

它试图从类路径加载此文件,但无法找到它.尝试指定"combined2.xml"而不是"src/main/java/resources/combined2.xml"并确保src/main/java/resources在您的类路径上.

顺便说一句,在Maven中,资源的标准目录是src/main/resources,所以我建议你把这个文件放在那里.


Var*_*run 5

Maven,资源的标准目录是src/main/resources,所以如果你把你的文件放在这里,它就会被占用。并在路径中简单地给出文件名。

例如

 ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("application-context.xml");
Run Code Online (Sandbox Code Playgroud)

我有同样的问题,它对我有用