我有一个指向应用程序上下文文件的静态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
答案 0 :(得分:0)
遵循maven
约定,将xml文件保留在src/main/resources
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