[CentOS] war, jar 배포 후 외부 application.yml 바라보기

2023. 10. 8. 02:00· OS
목차
  1. Property 우선순위
  2. 1. jar 
  3. 2. war

환경 :

openJdk 8

tomcat 8.5.93

jar = 8083

war = 8084

 

왜 외부에서 application을 주입하려는걸까?

프로젝트 배포 후 설정에 변경사항이 생기면 설정이 파일 안에 존재하다보니 명령어를 통해 교체하거나 새로 빌드하여 재배포를 해야되는 번거로움이 있다. 이런 경우를 보완하고자 애초에 설정파일 자체를 밖으로 빼내어 재배포를 하지 않고도 설정을 바꾸고 프로젝트만 구동시키면 된다.

 

Property 우선순위

Property를 바인딩하는 다양한 방법이 존재하듯이 바인딩할 Property파일을 찾는 방법 또한 순서가 존재합니다.

Spring Boot 동작 시 Property를 찾는 순서입니다. (몇 가지는 제외하였습니다.)                       

1. Terminal에서 명령어 입력 --spring.properties.active=real 등
2. Java 시스템 속성 System.getProperties()
3. jar 파일과 같은 경로에 존재하는 properties 파일 .properties, .yml profile 모두 적용 가능
4. jar 파일과 함께 패키징된 properties 파일 src/main/resources 경로에 위치한 application.properties

 

1. jar 

1. 상황 설명

--jar파일 안에 application.yml 내용 : inSide Value
--jar파일 밖에 application.yml 내용 : outSide Value

 

 

2. 아무런 설정없이 서버 기동

[root@localhost home]# java -jar demo-0.0.1-SNAPSHOT.jar

내부 application.yml

 

3. 외부 application.yml을 업로드 한 뒤 서버 기동

외부 application.yml

 

 

2. war

1. 상황 설명

--war 내부 application.yml 내용 : war inSide Value
--war 외부 application.yml 내용 : war outSide After Value

 

2. war 파일 업로드

 

[CentOS] WAR 올리기

1. JDK 설치하기 [클릭] [CentOS] JDK 설치하기 ! 1. 압축해제 tar xvfz jdk-17.0.7_linux-x64_bin.tar.gz 2. 환경변수 등록 vi /etc/profile # shift + G 눌러서 맨 마지막 줄에 아래 내용 추가 export JAVA_HOME=/home/jdk-17.0.7 3. so

noorypapa.tistory.com

 

3. 내부 war application.yml 확인

수정 전 application.yml

 

4. 외부에 application.yml 업로드

5. 외부 application.yml 먼저 바라볼 수 있도록 설정

vi /home/apache-tomcat-8.5.93/bin/catalina.sh

-- 최상단에 외부 application.yml 경로 설정
export JAVA_OPTS="$JAVA_OPTS -Dspring.config.location=file:/home/application.yml"

 

5. 톰캣 재기동

 

[Property 우선순위 참고]

https://pcloud.tistory.com/32

 

[SpringBoot] 외부 Properties File 사용하기

서버 구성에 필요한 속성을. properties 또는. yml 파일에 작성합니다. 저 같은 경우가 때 src/main/resources 경로에 위치한 application.properties에 작성하는 편인데 서버 배포 과정 중 문제가 있었습니다. 서

pcloud.tistory.com

 

'OS' 카테고리의 다른 글

[CentOS] Jenkins 설치하기 !  (2) 2023.10.06
[OCI] Oracle Cloud 고정 IP 설정  (1) 2023.09.21
[OCI] Oracle Cloud에 인스턴스 생성  (0) 2023.09.20
[PuTTYgen] pub(공용키), ppk(전용키) 생성하기  (0) 2023.09.20
[CentOS] TOMCAT 설치하기 !  (0) 2023.09.20
  1. Property 우선순위
  2. 1. jar 
  3. 2. war
'OS' 카테고리의 다른 글
  • [CentOS] Jenkins 설치하기 !
  • [OCI] Oracle Cloud 고정 IP 설정
  • [OCI] Oracle Cloud에 인스턴스 생성
  • [PuTTYgen] pub(공용키), ppk(전용키) 생성하기
누리는 귀여워
누리는 귀여워
안녕하세요, 누리 사료값을 벌기 위해 앞으로 나아가는 아버지의 개발 블로그입니다.
누리는 귀여워
누리아버지
누리는 귀여워
전체
오늘
어제
  • 분류 전체보기 (77)
    • Java (0)
      • Spring Boot (16)
      • JPA (1)
    • JavaScript (1)
      • React.js (1)
    • DataBase (3)
      • PostgreSQL (2)
    • DevOps (2)
      • MSA (1)
      • Docker (1)
    • OS (9)
    • Network (0)
    • CS 지식 (0)
    • Error 모음집 (0)
    • 코딩테스트 (32)
      • 기초 (31)
      • 알고리즘 (1)
    • 기타 (7)
    • 쉼터 (3)
      • 잡담 (3)
      • 하루 마무리 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 글쓰기

공지사항

인기 글

태그

  • war 배포
  • Docker
  • postgresql
  • kafka sink connect
  • eureka
  • Oracle Cloud
  • kafka connect
  • Dockerfile
  • git bash
  • MSA
  • JPA
  • 인텔리제이
  • centos
  • GATEWAY
  • postman
  • spring boot
  • spring cloud
  • Kafka
  • 깃허브연동
  • Boot

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.0
누리는 귀여워
[CentOS] war, jar 배포 후 외부 application.yml 바라보기
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.