찾다
Javajava지도 시간SpringBoot는 어떻게 jar 패키지 외부에 구성 파일을 걸어두나요?

    1. SpringBoot는 구성 파일 경로를 지정합니다.

    SpringBoot에서는 구성 파일을 jar 패키지 외부에 배치할 수 있으므로 다시 패키지하고 배포할 필요 없이 구성을 쉽게 수정할 수 있습니다.

    다음은 구성 파일 디렉터리를 지정하는 여러 가지 방법입니다. (유효 우선 순위에 따라 높은 순서에서 낮은 순서로 정렬)

    1) 명령줄 매개 변수 사용:

    응용 프로그램을 시작할 때 --를 사용할 수 있습니다. spring.config.location 또는 -Dspring.config.location 명령줄 매개변수를 사용하여 구성 파일의 경로를 지정합니다. 예: (--spring.config.location-Dspring.config.location 命令行参数来指定配置文件的路径,例如:(config 后面的 / 不可省略

    java -jar test.jar --spring.config.location=/opt/app/config/

    补充:FHS将/opt定义为 “为安装附加应用软件包而保留”。所以这里选择 /opt 文件夹来存放应用程序的配置文件。

    2)使用环境变量:

    可以设置 SPRING_CONFIG_LOCATION 环境变量来指定配置文件的路径,例如:

    export SPRING_CONFIG_LOCATION=/opt/app/config/
    java -jar test.jar

    3)使用外部配置文件:

    • 方法一: 在应用程序(jar包)启动命令执行目录下 创建一个名为 config 的文件夹,然后将配置文件放在该文件夹中。

    • 方法二: 在应用程序(jar包)同级目录下 创建一个名为 config 的文件夹,然后将配置文件放在该文件夹中。在代码的配置文件 application.propertiesapplication.yml 中添加以下行:

    spring.config.name=application
    spring.config.location=classpath:/,file:./config/
    • 方法三: 在应用程序(jar包)同级目录下 直接放 propertiesyml 配置文件。

    • 方法四: 在应用程序(jar包)内部的 classpath同级目录下,创建 config 文件夹,然后放 propertiesyml 配置文件。

    • 方法五: 在应用程序(jar包)内部的 classpath同级目录下,然后直接放 propertiesyml 配置文件。

    注意:以上方法可以组合使用,例如,可以在命令行参数和环境变量中同时指定配置文件的路径,执行时命令行参数的优先级最高。

    二、SpringBoot 配置文件生效的优先级排序:

    1. java -jar 命令行中,通过 --spring.config.location 参数指定的方式优先级最高。

    2. 设置 SPRING_CONFIG_LOCATION 环境变量来指定配置文件的路径是次优先级。

    3. 在执行 java -jar 命令同级目录下的 config 文件夹是第三优先级。

    4. 注意:如果 java -jar 命令不是在项目 jar 包 同级目录执行的话,在项目 jar 包同级目录下的 config 文件夹是不生效的。

    5. 项目 jar 包中 propertiesyml 文件中指定 spring.config.location 配置文件夹是第四优先级。

    6. 项目 jar 包同级下直接放 properties 文件是第五优先级,直接把配置文件放到 jar 包的同级目录。

    7. 项目内部的 classpath 同级 config 文件夹是第六优先级,在 classpath 下建一个 config 文件夹,然后把配置文件放进去。

    8. 项目内部的 classpath 同级放 properties 文件是最低优先级,是在 classpath 下直接放配置文件。

    SpringBoot 默认是优先读取java -jar 命令同级目录下的一个 config/application.properties 文件的。

    在项目内 src/main/resources 文件夹下创建的 application.propertiesconfig / after config는 생략할 수 없습니다

    )🎜rrreee🎜추가됨: FHS는 /opt를 "추가 응용 프로그램 패키지 설치를 위해 예약됨"으로 정의합니다. 따라서 여기서는 애플리케이션 구성 파일을 저장하기 위해 /opt 폴더가 선택되었습니다. 🎜🎜2) 환경 변수 사용: 🎜🎜 SPRING_CONFIG_LOCATION 환경 변수를 설정하여 구성 파일의 경로를 지정할 수 있습니다. 예: 🎜rrreee🎜3) 외부 구성 파일 사용: 🎜
    • 🎜🎜방법 1: 🎜 애플리케이션(jar 패키지) 시작 명령 실행 디렉터리config라는 폴더를 생성하고 그런 다음 구성 파일이 이 폴더에 저장됩니다. 🎜
    • 🎜🎜방법 2: 🎜 애플리케이션(jar 패키지) 형제 디렉터리config라는 폴더를 생성한 다음 구성 파일이 배치됩니다. 이 폴더에. 코드의 구성 파일 application.properties 또는 application.yml에 다음 줄을 추가합니다. 🎜
    • 🎜rrreee
      • 🎜🎜방법 3: 🎜 애플리케이션(jar 패키지)의 동일한 디렉터리속성 또는 yml 구성 파일을 직접 배치합니다. . 🎜
      • 🎜🎜방법 4: 🎜 애플리케이션(jar 패키지) /code 내부 classpathsibling 디렉터리config 폴더를 선택한 다음 <code>속성 또는 yml 구성 파일을 넣습니다. 🎜
      • 🎜🎜방법 5: 🎜 애플리케이션(jar 패키지) 내부 classpath동일 디렉터리에 속성 또는 yml 구성 파일. 🎜
      • 🎜🎜참고: 위의 방법을 조합하여 사용할 수 있습니다. 예를 들어 명령줄 매개변수와 환경 변수 모두에서 구성 파일 경로를 지정할 수 있습니다. 명령줄 매개변수는 실행 중에 가장 높은 우선순위를 갖습니다. 🎜🎜2. SpringBoot 구성 파일 적용 우선순위: 🎜
    1. 🎜java -jar 명령줄에서 를 전달합니다. -- spring.config.location 매개변수에 지정된 방법이 가장 높은 우선순위를 갖습니다. 🎜
    2. 🎜 구성 파일의 경로를 지정하기 위해 SPRING_CONFIG_LOCATION 환경 변수를 설정하는 것이 두 번째 우선 순위입니다. 🎜
    3. 🎜 java -jar 명령과 동일한 디렉터리에 있는 config 폴더가 세 번째 우선순위입니다. 🎜
    4. 🎜참고: java -jar 명령이 프로젝트 jar 패키지와 동일한 디렉토리에서 실행되지 않는 경우, config는 프로젝트 jar 패키지와 동일한 디렉토리에 있습니다. 프로젝트 jar 패키지 > 폴더가 유효하지 않습니다. 🎜
    5. 🎜프로젝트 jar 패키지의 properties 또는 yml 파일에 지정된 spring.config.location 구성 폴더 4가지 우선순위입니다. 🎜
    6. 🎜properties 파일을 프로젝트 jar 패키지의 동일한 레벨 아래에 직접 배치하는 것이 다섯 번째 우선순위입니다. 구성 파일을 jar과 동일한 레벨의 디렉토리에 직접 배치하는 것입니다. 패키지. 🎜
    7. 🎜프로젝트 내부의 classpath 형제 config 폴더가 6순위입니다. classpath 아래에 config 폴더를 생성한 후 구성을 넣어주세요. 파일을 입력하세요. 🎜
    8. 🎜프로젝트 내에서 classpath와 동일한 수준에 properties 파일을 배치하는 것은 우선순위가 가장 낮으며 classpath 바로 아래에 배치됩니다. 코드> 구성 파일. 🎜
    🎜SpringBoot는 기본적으로 java -jar 명령과 동일한 디렉터리에 있는 config/application.properties 파일을 읽는 데 우선 순위를 부여합니다. 🎜🎜프로젝트 내 src/main/resources 폴더에 생성된 application.properties 파일은 우선순위가 가장 낮습니다. 🎜

    위 내용은 SpringBoot는 어떻게 jar 패키지 외부에 구성 파일을 걸어두나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명
    이 기사는 亿速云에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
    고급 Java 프로젝트 관리, 구축 자동화 및 종속성 해상도에 Maven 또는 Gradle을 어떻게 사용합니까?고급 Java 프로젝트 관리, 구축 자동화 및 종속성 해상도에 Maven 또는 Gradle을 어떻게 사용합니까?Mar 17, 2025 pm 05:46 PM

    이 기사에서는 Java 프로젝트 관리, 구축 자동화 및 종속성 해상도에 Maven 및 Gradle을 사용하여 접근 방식과 최적화 전략을 비교합니다.

    적절한 버전 및 종속성 관리로 Custom Java 라이브러리 (JAR Files)를 작성하고 사용하려면 어떻게해야합니까?적절한 버전 및 종속성 관리로 Custom Java 라이브러리 (JAR Files)를 작성하고 사용하려면 어떻게해야합니까?Mar 17, 2025 pm 05:45 PM

    이 기사에서는 Maven 및 Gradle과 같은 도구를 사용하여 적절한 버전 및 종속성 관리로 사용자 정의 Java 라이브러리 (JAR Files)를 작성하고 사용하는 것에 대해 설명합니다.

    카페인 또는 구아바 캐시와 같은 라이브러리를 사용하여 자바 애플리케이션에서 다단계 캐싱을 구현하려면 어떻게해야합니까?카페인 또는 구아바 캐시와 같은 라이브러리를 사용하여 자바 애플리케이션에서 다단계 캐싱을 구현하려면 어떻게해야합니까?Mar 17, 2025 pm 05:44 PM

    이 기사는 카페인 및 구아바 캐시를 사용하여 자바에서 다단계 캐싱을 구현하여 응용 프로그램 성능을 향상시키는 것에 대해 설명합니다. 구성 및 퇴거 정책 관리 Best Pra와 함께 설정, 통합 및 성능 이점을 다룹니다.

    캐싱 및 게으른 하중과 같은 고급 기능을 사용하여 객체 관계 매핑에 JPA (Java Persistence API)를 어떻게 사용하려면 어떻게해야합니까?캐싱 및 게으른 하중과 같은 고급 기능을 사용하여 객체 관계 매핑에 JPA (Java Persistence API)를 어떻게 사용하려면 어떻게해야합니까?Mar 17, 2025 pm 05:43 PM

    이 기사는 캐싱 및 게으른 하중과 같은 고급 기능을 사용하여 객체 관계 매핑에 JPA를 사용하는 것에 대해 설명합니다. 잠재적 인 함정을 강조하면서 성능을 최적화하기위한 설정, 엔티티 매핑 및 모범 사례를 다룹니다. [159 문자]

    Java의 클래스로드 메커니즘은 다른 클래스 로더 및 대표 모델을 포함하여 어떻게 작동합니까?Java의 클래스로드 메커니즘은 다른 클래스 로더 및 대표 모델을 포함하여 어떻게 작동합니까?Mar 17, 2025 pm 05:35 PM

    Java의 클래스 로딩에는 부트 스트랩, 확장 및 응용 프로그램 클래스 로더가있는 계층 적 시스템을 사용하여 클래스로드, 링크 및 초기화 클래스가 포함됩니다. 학부모 위임 모델은 핵심 클래스가 먼저로드되어 사용자 정의 클래스 LOA에 영향을 미치도록합니다.

    See all articles

    핫 AI 도구

    Undresser.AI Undress

    Undresser.AI Undress

    사실적인 누드 사진을 만들기 위한 AI 기반 앱

    AI Clothes Remover

    AI Clothes Remover

    사진에서 옷을 제거하는 온라인 AI 도구입니다.

    Undress AI Tool

    Undress AI Tool

    무료로 이미지를 벗다

    Clothoff.io

    Clothoff.io

    AI 옷 제거제

    AI Hentai Generator

    AI Hentai Generator

    AI Hentai를 무료로 생성하십시오.

    인기 기사

    R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
    4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. 최고의 그래픽 설정
    4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
    4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
    WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
    1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌

    뜨거운 도구

    SublimeText3 Mac 버전

    SublimeText3 Mac 버전

    신 수준의 코드 편집 소프트웨어(SublimeText3)

    PhpStorm 맥 버전

    PhpStorm 맥 버전

    최신(2018.2.1) 전문 PHP 통합 개발 도구

    WebStorm Mac 버전

    WebStorm Mac 버전

    유용한 JavaScript 개발 도구

    Atom Editor Mac 버전 다운로드

    Atom Editor Mac 버전 다운로드

    가장 인기 있는 오픈 소스 편집기

    Dreamweaver Mac版

    Dreamweaver Mac版

    시각적 웹 개발 도구