2017-03-17 7 views
2

존재하지 않기 때문에 클래스 패스 리소스를 열 수 없습니다 그러나 나는 다음과 같은 오류가 계속 :java.io.FileNotFoundException : 그것은 내 프로젝트에 대한 구성 위치를 설정하려고

java.io.FileNotFoundException: class path resource [main/resources/app-context.xml] cannot be opened because it does not exist

내 프로젝트가를

enter image description here

을 그리고 난 내 코드로 설정이 : 다음과 같이 설정

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

어떻게 해결할 수 있습니까?

+1

코드 및 오류 로그를 게시하십시오. 이미지에 없음 – Kaushal28

+0

죄송합니다! 미래의 질문을 할 것입니다! –

답변

5

src/main/java에 직접 입력 한 내용은 classpath의 루트에있는 기본 패키지에 있습니다. src/main/resources 아래에 놓인 자원에 대해서도 동일합니다 : 클래스 패스의 루트에서 끝납니다.

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

+0

그게 효과가! 고맙습니다! –

+0

서버가 실행 중일 때 어떻게 파일을 추가하거나 나중에이 리소스 파일을 업데이트 할 수 있습니까? – Kenji

+0

@Kenji 수 없습니다. 리소스는 컴파일 타임에 알려진 응용 프로그램 리소스이며 응용 프로그램과 함께 제공됩니다. 나중에 파일을 추가하려는 경우 해당 파일은 응용 프로그램 자원이 아니라 데이터입니다. 데이터는 데이터베이스에 저장됩니다 (파일 시스템 일 수 있음). –

1

이 시도 :

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

고마워요! –

+0

다행입니다. .. –

0

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