>

클래스 경로에 Configuration.properties 파일을 사용하여 스프링 부트 응용 프로그램을 만들었습니다. 그러나 패키지로 만들고 응용 프로그램을 실행할 때 오류가 발생합니다. "Configuration.properties (시스템이 지정된 파일을 찾을 수 없음)." 다음 방법으로 호출했습니다.     공개 정적 속성 readProperties ()에서 IOException이 발생 함 {

   FileReader reader=new FileReader("Configuration.properties");
    Properties p=new Properties(); 
    p.load(reader);
    return p;

spring, boot-boot를 처음 사용합니다 .spring-boot 앱의 application.properties (resources 폴더 내부)에 값을 제공하는 방법이 있습니다. 또는 왜 내가 만든 속성 파일이 항아리에 들어 가지 않는 이유는 무엇입니까? 누군가 도와주세요.

감사합니다. 알빈

  • 답변 # 1

    파일이 jar 파일로 패키지되어 있고 파일 시스템의 일반 파일이 아니기 때문입니다. 클래스 경로에서 파일에 액세스하려면 다음과 같은 방법으로 파일에 액세스해야합니다.

    Properties properties = new Properties();
    try (InputStream stream =
           this.getClass().getResourceAsStream("/Configuration.properties")) {
        properties.load(stream);
    }
    
    

    그러나 스프링 부트를 사용하면 어떤 이유로 든 실제로 필요한 경우가 아니면 속성 파일을 직접 읽을 수 없습니다. 이를 달성하기위한 다른 메커니즘이 있습니다. Spring 문서를 여기에서 살펴보십시오.

관련 자료

  • 이전 php - htaccess를 사용하여 URL 쿼리 문자열을 슬래시로 변환하고 단일 경로를 마스크하는 Wordpress
  • 다음 node.js - xero-Node 패키지 특정 콜백을 비동기/대기로 전환하는 방법