新的Mavenized项目 - 无法找到Classpath

时间:2012-08-15 14:03:40

标签: java spring maven

我有一个指向应用程序上下文文件的静态main。在项目成为maven项目之前,我将“applicationContex.xml”保存在Netbeans的“”(即根目录)中。现在当我运行我的代码时,我得到了错误。

有人能告诉我申请上下文文件的正确位置吗?

@Service
public class TestDriver {
    public static void main(String[] args) {
        ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");

错误:

INFO: Loading XML bean definitions from class path resource [applicationContext.xml]
Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [applicationContext.xml]; nested exception is java.io.FileNotFoundException: class path resource [applicationContext.xml] cannot be opened because it does not exist


Directory of C:\NetBeansProjects\prj\trunk\src\main\java

8/15/2012  09:38 AM    <DIR>          .
8/15/2012  08:58 AM    <DIR>          ..
8/15/2012  09:38 AM               162 jcbc.properties
8/15/2012  09:38 AM               879 log4j.properties
8/15/2012  09:38 AM             1,691 applicationContext.xml
              3 File(s)          2,732 bytes

2 个答案:

答案 0 :(得分:0)

遵循maven约定,将xml文件保留在src/main/resources

来自SpringSource

src/main/java   

包含项目的Java源代码

src/main/resources  

包含项目的任何类路径相关资源(例如,Spring应用程序上下文.xml文件)

src/test/java    

包含测试类的java源代码。此目录不会包含在最终版本中。将编译此处的所有测试并运行所有测试。如果测试失败,则会中止构建。

src/test/resources

此目录不会包含在最终的Java版本中。此文件夹包含测试代码的任何类路径相关资源(例如,Spring应用程序上下文.xml文件)。

答案 1 :(得分:0)

您需要将非java文件放在:

C:\NetBeansProjects\prj\trunk\src\main\resources