1

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

有人可以告诉我应用程序上下文文件的正确位置吗?

@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
4

2 回答 2

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 文件)。

于 2012-08-15T14:08:59.067 回答
0

您需要将非java文件放入:

C:\NetBeansProjects\prj\trunk\src\main\resources
于 2012-08-15T14:09:18.150 回答