template-java-maven/CLAUDE.md

66 lines
1.9 KiB
Markdown
Raw Normal View 히스토리

# 프로젝트 개요
- **타입**: Java + Spring Boot + Maven
- **JDK**: 17 (`.sdkmanrc` 참조)
- **프레임워크**: Spring Boot
- **빌드 도구**: Maven (Maven Wrapper 사용)
## 빌드 및 실행
```bash
# 빌드
./mvnw clean compile
# 패키징
./mvnw clean package -DskipTests
# 테스트
./mvnw test
# 특정 테스트 클래스 실행
./mvnw test -Dtest=클래스명
# 로컬 실행
./mvnw spring-boot:run
# 린트 (Checkstyle 설정된 경우)
./mvnw checkstyle:check
```
## 프로젝트 구조
```
src/
├── main/
│ ├── java/
│ │ └── com/gcsc/{프로젝트}/
│ │ ├── config/ # 설정 클래스
│ │ ├── controller/ # REST 컨트롤러
│ │ ├── service/ # 비즈니스 로직
│ │ ├── repository/ # 데이터 접근
│ │ ├── domain/ # 엔티티
│ │ ├── dto/ # 데이터 전송 객체
│ │ ├── exception/ # 예외 처리
│ │ └── util/ # 유틸리티
│ └── resources/
│ ├── application.yml # 공통 설정
│ ├── application-local.yml # 로컬 설정 (.gitignore)
│ └── application-prod.yml # 운영 설정
└── test/
└── java/ # 테스트 코드
```
## 팀 규칙
- 코드 스타일: `.claude/rules/code-style.md` 참조
- 네이밍 규칙: `.claude/rules/naming.md` 참조
- 테스트 규칙: `.claude/rules/testing.md` 참조
- Git 워크플로우: `.claude/rules/git-workflow.md` 참조
- 팀 정책: `.claude/rules/team-policy.md` 참조
## 의존성 관리
- Nexus 프록시 레포지토리를 통해 의존성 관리 (`.mvn/settings.xml`)
- 새 의존성 추가 시 `pom.xml`에 버전 명시
- Spring Boot BOM 범위 내 의존성은 버전 생략 가능