Files
eapim-portal/BOOTRUN_SETUP_GUIDE.md
T
curry772 bb845dfbba 로컬 개발환경 설정 및 bootRun 구성
- build.gradle: bootRun에 sourceResources, dev 프로파일 적용
- application-dev.yml: DB 접속 정보를 로컬 Docker Oracle로 변경
- logback-spring.xml: dev 프로파일에 CONSOLE appender 추가
- BOOTRUN_SETUP_GUIDE.md: Eclipse Terminal 기반 bootRun 실행 가이드 추가
2026-03-11 10:16:29 +09:00

4.0 KiB

eapim-portal 로컬 개발 환경 실행 가이드

Eclipse Terminal에서 gradlew bootRun으로 기동하는 방법


환경 구성 개요

항목 내용
DB 로컬 Docker Oracle 19c
포트 8080
프로파일 dev
실행 방법 Eclipse Terminal → gradlew.bat bootRun

1. 사전 준비: 로그 디렉토리 생성

최초 1회만 실행 (없으면 기동 실패)

mkdir C:\Log\eapim\portal
mkdir C:\Log\App\eapim

2. Docker Oracle 기동

cd D:\eActive\workspaces\elink-djbank\docker\ekjb
docker-compose up -d

Oracle 완전 기동 확인 (처음 기동 시 3~5분 소요):

docker logs -f oracle

DATABASE IS READY TO USE! 메시지 확인 후 다음 단계 진행.


3. Eclipse Terminal에서 bootRun 실행

Eclipse Terminal 열기

WindowShow ViewTerminal → 우측 상단 + 클릭 → Local Terminal 선택

실행 명령어

cd D:\eActive\workspaces\elink-djbank\eapim-portal
gradlew.bat bootRun

기동 성공 확인

##### PortalApplication Ready #####

브라우저에서 http://localhost:8080 접속 확인.


4. 수정된 파일 목록

4-1. src/main/resources/application-dev.yml

DB 호스트를 원격 서버에서 로컬 Docker로 변경:

ems:
  datasource:
    jdbc-url: jdbc:oracle:thin:@//localhost:1599/DAPM  # 변경
    username: EMSAPP
    password: elink1234

gateway:
  datasource:
    jdbc-url: jdbc:oracle:thin:@//localhost:1599/DAPM  # 변경
    username: AGWAPP
    password: elink1234

4-2. build.gradle

bootRun 태스크에 sourceResources 추가:

bootRun {
    sourceResources sourceSets.main  // processResources 필터 우회 (dev yml 직접 참조)
    args = ["--spring.profiles.active=dev"]
}

이유: processResourcesapplication-dev.yml을 빌드 출력에서 제외하도록 설정되어 있어, sourceResources sourceSets.main을 추가해야 bootRun 실행 시 소스 디렉토리를 직접 참조함.

4-3. src/main/resources/logback-spring.xml

dev 프로파일에 CONSOLE appender 추가 (콘솔 로그 출력):

<springProfile name="dev">
    <root level="DEBUG">
        <appender-ref ref="ROLLING"/>
        <appender-ref ref="CONSOLE"/>  <!-- 추가 -->
    </root>
</springProfile>

4-4. .classpath

MapStruct 등 Gradle annotation processor 생성 소스를 Eclipse 소스 폴더로 추가:

<classpathentry output="bin/main" kind="src"
    path="build/generated/sources/annotationProcessor/java/main">
    <attributes>
        <attribute name="gradle_scope" value="main"/>
        <attribute name="gradle_used_by_scope" value="main,test"/>
    </attributes>
</classpathentry>

이유: Eclipse는 Gradle annotation processing을 자동 실행하지 않으므로, gradlew.bat compileJava 실행 후 생성된 소스 경로를 Eclipse 빌드 경로에 수동 추가 필요.


5. Annotation Processor 소스 재생성

소스 구조 변경(매퍼 추가 등) 시 재실행 필요:

cd D:\eActive\workspaces\elink-djbank\eapim-portal
gradlew.bat compileJava

이후 Eclipse에서 ProjectClean 실행.


6. Eclipse에서 직접 기동이 안 되는 이유

Eclipse는 참조 프로젝트(elink-online-core-jpa)의 test scope 의존성을 구분하지 않고 런타임 클래스패스에 모두 포함시킵니다.

이로 인해 Spring Boot 버전 충돌 발생:

출처 jar 충돌 대상
elink-online-core-jpa (test) spring-boot-autoconfigure:2.6.15 eapim-portal 2.7.18
elink-online-core-jpa (test) spring-core:5.3.27 eapim-portal 5.3.31

gradlew bootRun은 Gradle의 dependency management(BOM)로 버전을 통일하므로 이 문제가 없음.


7. Docker Oracle 계정 정보

항목
Host localhost
Port 1599
SID DAPM
EMS 계정 EMSAPP / elink1234
GW 계정 AGWAPP / elink1234