我在我的应用程序中使用maven build。我有这样的包裹:
1> src/test/java // for Test application
2> src/main/java // code
3> src/main/resource // resource files
at 1>我写了一个测试文件:
public void testLoginDetails() {
new ClassPathXmlApplicationContext(
new String[] { "/com/home/app/Home-ctx.xml" });
Home-ctx在2>处可用。即src / main / java / com / home / app / Home-ctx.xml
但是当我运行应用程序时,我遇到了常见的错误:
Caused by: java.io.FileNotFoundException: class path resource [com/home/app/Home-ctx.xml] cannot be opened because it does not exist
at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:158)
我知道这是xml文件加载的类路径问题。我该如何解决这个问题?
答案 0 :(得分:1)
你需要移动
src/main/java/com/home/app/Home-ctx.xml
到
src/main/resources/com/home/app/Home-ctx.xml
类路径资源需要放在resources
文件夹中 - 目前您已将它们放在java
文件夹下,该文件夹用于资源而非资源。
如果资源仅用于测试,则它应该位于src/test/resources
。对于生产资源,它们位于src/main/resources
之下。
参考