2.3 KiB
2.3 KiB
JDK 21로 eapim-portal 기동 가이드
환경
- JDK 21 경로:
D:\installs\jdk-21(jdk-21.0.10+7 폴더를 복사하여 이름 변경) - Gradle 8.7 (JDK 21 지원)
- Spring Boot 2.7.18
주의: 원본 폴더명(
jdk-21.0.10+7)에+문자가 포함되어 있어 CMD에서 JAVA_HOME 설정 시 오류 발생. 탐색기에서D:\installs\jdk-21로 복사하여 사용.
build.gradle 변경 사항
JDK 17+ 모듈 시스템(JPMS) 호환을 위해 bootRun 블록에 --add-opens JVM 인수 추가.
(Hibernate 5.6.x, Atomikos, JAXB 등의 리플렉션 접근 허용)
bootRun {
jvmArgs = [
'--add-opens', 'java.base/java.lang=ALL-UNNAMED',
'--add-opens', 'java.base/java.math=ALL-UNNAMED',
'--add-opens', 'java.base/java.util=ALL-UNNAMED',
'--add-opens', 'java.base/java.util.concurrent=ALL-UNNAMED',
'--add-opens', 'java.base/java.net=ALL-UNNAMED',
'--add-opens', 'java.base/java.text=ALL-UNNAMED',
'--add-opens', 'java.base/java.io=ALL-UNNAMED',
'--add-opens', 'java.base/sun.util.calendar=ALL-UNNAMED',
'--add-opens', 'java.rmi/sun.rmi.transport=ALL-UNNAMED',
'--add-opens', 'java.sql/java.sql=ALL-UNNAMED',
]
sourceResources sourceSets.main
args = ["--spring.profiles.active=dev"]
}
sourceCompatibility = "1.8"은 유지.var키워드 관련 warning이 발생하지만 빌드/실행에는 영향 없음.
WAR 빌드 및 실행 (bootWarDev)
1. JAVA_HOME 설정
set JAVA_HOME=D:\installs\jdk-21
set PATH=%JAVA_HOME%\bin;%PATH%
2. bootWarDev 빌드
gradle bootWarDev
출력 파일: build\libs\eapim-portal-dev.war
3. 실행
chcp 65001
D:\installs\jdk-21\bin\java -Dfile.encoding=UTF-8 -Dstdout.encoding=UTF-8 -jar build\libs\eapim-portal-dev.war --spring.profiles.active=dev
한글 인코딩 설정
| 항목 | 설정 |
|---|---|
| CMD 코드페이지 | chcp 65001 (UTF-8) |
| JVM 인수 | -Dfile.encoding=UTF-8 -Dstdout.encoding=UTF-8 |
bootWarDev vs bootWar 차이
bootWar |
bootWarDev |
|
|---|---|---|
| 포함 yml | stage, prod | application.yml + application-dev.yml |
| 출력 파일 | eapim-portal-boot.war |
eapim-portal-dev.war |
| 용도 | 운영/스테이징 배포 | 로컬 dev 실행 |