2015-10-19 109 views
0

我的下一个项目结构Spring应用程序上下文:无法加载从测试

src/ 
    main/ 
     java/ 
      DAO/Dao classes 
      data/data classes 
     resources/ 
      application-context.xml 
    test/ 
     java/ 
      data/ Test files 
     resources/ 
       application-context-test.xml 

当我加载背景之外的测试我使用:

ApplicationContext context = new ClassPathXmlApplicationContext("application-context.xml"); 

而且works.And如果使用

@ContextConfiguration(locations = {"classpath:application-context.xml"}) 

里面的测试 - 它的工作原理。但是,如果我用:

@ContextConfiguration(locations = {"classpath:application-context-test.xml"}) 

我得到异常:

java.lang.IllegalStateException: Failed to load ApplicationContext 

任何想法,为什么?也许XML文件有问题?

+0

/测试不得在您的类路径中。 –

+0

你是什么意思? – ovod

+0

你可以在开头添加一个'/'吗? '类路径:/应用程序上下文test.xml'。这通常会解决类似的问题....我认为这是一个很好的做法,因为它缩小了在哪里找到资源。 – Augusto

回答

0

确保您的主目录和测试目录都设置为eclipse中的源目录。您可以从ui执行此操作,但也可以在应用程序源的根目录下打开隐藏的.classpath文件。开始的时候看起来应该像你之前看到其中的路径匹配你的文件结构:

​​

如果确实如此,测试应该工作。如果不是,他们不会。

您可以通过右键单击src/main/resources目录并选择Build Path >> Add to Build Path来从UI执行此操作。您的包资源管理器应该与上面的每个源目录一样。 enter image description here

+0

在哪里可以通过ui进行编辑? – ovod

相关问题