programing

java.io .FileNotFoundException: 클래스 경로 리소스가 없으므로 열 수 없습니다.

closeapi 2023. 10. 18. 22:06
반응형

java.io .FileNotFoundException: 클래스 경로 리소스가 없으므로 열 수 없습니다.

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

java.io .FileNotFoundException: 클래스 경로 리소스 [main/resources/app-context.xml]이(가) 없으므로 열 수 없습니다.

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

enter image description here

그리고 내 코드는 다음과 같이 설정됩니다.

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

이거 어떻게 고쳐요?

당신이 바로 밑에 놓는 것.src/main/java는 클래스 경로의 루트에 있는 기본 패키지에 있습니다.이는 리소스를 사용하는 경우에도 마찬가지입니다.src/main/resources: 그들은 결국 수업 경로의 뿌리에 다다릅니다.

그래서 자원의 경로는app-context.xml,것은 아니다.main/resources/app-context.xml.

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

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

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

시도해 보기:

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

파일 위치/경로는 클래스 경로 위치에 상대적이어야 합니다.리소스 디렉토리가 클래스 경로에 있는 경우 파일 위치로 "app-context.xml"만 있으면 됩니다.

이거 나한테 통했어요.ApplicationContext context = new ClassPathXmlApplicationContext("app-context.xml");

이클립스의 경우 - 경로를 따릅니다.Build path -> Configure build path -> go to sources -> add folderXML 파일이 있는 리소스 폴더에 표시합니다.이제 실행을 시도하면 잘 실행됩니다.

아래를 사용하여 리소스를 읽을 수 있습니다.입력 스트림을 제공합니다.

InputStream in = MyClass.class.getClassLoader().getResourceAsStream("files.properties");

언급URL : https://stackoverflow.com/questions/42863382/java-io-filenotfoundexception-class-path-resource-cannot-be-opened-because-it-d

반응형