# 1. 프로젝트 루트에서 Spring Boot용 빌드 실행
cd /path/to/home/amano-dx-frontend
./build-for-spring.sh
# 빌드 결과
# ✅ apps/dx-service/out/ - 정적 파일들
# ✅ apps/dx-service/dx-service-build.tar.gz - 배포용 압축 파일이 생성됨
build-for-spring.sh: Spring Boot 전용 빌드 스크립트build-production.sh: 전체 워크스페이스 빌드용 (검증용으로 현재 사용할 필요 없음)"dx-service-build.tar.gz" 파일을 프론트엔드 프로젝트에서 백엔드 프로젝트로 복사
cp /path/to/home/amano-dx-frontend/apps/dx-service/dx-service-build.tar.gz /path/to/home/amano-dx-backend/DxService/.
cd /path/to/home/amano-dx-backend/DxService
rm -rf src/main/resources/static/*
tar -xzf dx-service-build.tar.gz -C src/main/resources/static/
cd /path/to/home/amano-dx-backend
chmod +x build.sh
./build.sh
java -jar DxService-0.0.1-SNAPSHOT.war
파일: next.config.js
// Spring Boot 배포를 위한 설정
output: 'export', // 정적 파일로 export
trailingSlash: true, // URL 뒤에 / 추가
distDir: 'out', // 빌드 출력 디렉토리
images: { unoptimized: true }, // 이미지 최적화 비활성화
eslint: { ignoreDuringBuilds: true }, // 빌드 시 ESLint 무시
typescript: { ignoreBuildErrors: true }, // 빌드 시 TypeScript 오류 무시
새 파일: .env.production
# 모든 API를 8087 포트로 통합
NEXT_PUBLIC_BACKEND_URL=http://localhost:8087
NEXT_PUBLIC_API_BASE_URL=http://localhost:8087
NEXT_PUBLIC_AUTH_API_BASE_URL=http://localhost:8087
# ... 기타 모든 API 엔드포인트
src/app/api/ 폴더 완전 삭제 (정적 export에서 사용 불가)/line/prd 페이지를 정적 페이지로 변환.js → .ts)_next/, 페이지 파일들, 정적 자산들 포함# 프로덕션 환경 정적 리소스 설정 추가
web:
resources:
static-locations: classpath:/static/
add-mappings: true
mvc:
static-path-pattern: /**
# CORS 설정 추가 (프론트엔드 API 호출 지원)
management:
endpoints:
web:
cors:
allowed-origins: "*"
allowed-methods: GET,POST,PUT,DELETE,OPTIONS
allowed-headers: "*"
# Next.js 빌드 파일 제외
DxService/src/main/resources/static/_next/
DxService/src/main/resources/static/
index.html 반환/** 패턴으로 모든 요청 처리