복붙노트

[SPRING] java.io.FileNotFoundException : 클래스 경로 자원이 없기 때문에 열 수 없습니다.

SPRING

java.io.FileNotFoundException : 클래스 경로 자원이 없기 때문에 열 수 없습니다.

프로젝트의 구성 위치를 설정하려고하는데 다음과 같은 오류가 계속 발생합니다.

내 프로젝트를 다음과 같이 설정했습니다.

그리고 코드를 다음과 같이 설정했습니다.

ApplicationContext context = new ClassPathXmlApplicationContext(configLocation: "main/resources/app-context.xml");

이 문제를 어떻게 해결할 수 있습니까?

해결법

  1. ==============================

    1.src / main / java에 직접 넣은 것은 기본 경로의 클래스 경로에 있습니다. src / main / resources에 놓인 자원의 경우와 동일합니다. 결국 classpath의 루트에있게됩니다.

    src / main / java에 직접 넣은 것은 기본 경로의 클래스 경로에 있습니다. src / main / resources에 놓인 자원의 경우와 동일합니다. 결국 classpath의 루트에있게됩니다.

    따라서 리소스의 경로는 main / resources / app-context.xml이 아닌 app-context.xml입니다.

  2. ==============================

    2.이 솔루션을 사용해 볼 수도 있습니다

    이 솔루션을 사용해 볼 수도 있습니다

    ApplicationContext ctx = new ClassPathXmlApplicationContext("classpath*:app-context.xml");
    

    이 스프링은 자동으로 클래스 경로 자체에서 클래스를 찾습니다.

  3. ==============================

    3.이 시도:

    이 시도:

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

    4.파일 위치 / 경로는 클래스 경로 위치를 기준으로합니다. resources 디렉토리가 클래스 경로에 있으면 파일 위치로 "app-context.xml"이 필요합니다.

    파일 위치 / 경로는 클래스 경로 위치를 기준으로합니다. resources 디렉토리가 클래스 경로에 있으면 파일 위치로 "app-context.xml"이 필요합니다.

  5. from https://stackoverflow.com/questions/42863382/java-io-filenotfoundexception-class-path-resource-cannot-be-opened-because-it-d by cc-by-sa and MIT license