plugins {
id 'java'
id 'org.springframework.boot'
id 'io.spring.dependency-management'
}
group = 'org.delivery'
version = '1.0-SNAPSHOT'
java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
}
configurations {
compileOnly { // 컴파일할 때 어노테이션을 사용한다 의미
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
}
dependencies {
implementation project(':db') // 같은 레벨의 다른 모듈을 사용하겠다
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok' // 어노테이션 사용하기 때문
implementation 'org.springframework.boot:spring-boot-starter-web' // starter-web과 test는 세트
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
test {
useJUnitPlatform()
}
bootJar{
enabled=true
}
jar{
enabled=false
}
./gradelw build 를 통해
프로젝트를 빌드하여 jar 파일로 패키징하게 되면
다음과 같이 두개의 jar 파일이 나오게 되는데
일반 jar 파일은 스프링 부트로 패키징된 파일
plain.jar 은 일반 자바 클래스들이 패키징된 파일이라고 보면 된다.
여기서 외부에서 참고하는 라이브러리 jar은 필요없기 때문에
위쪽의 build.gradle 파일과 같이
enabled를 false로 주어 생성을 막아준다.
반대로 스프링 부트 사용 시 bootJar은 false를 주고 일반 jar는 true를 준다.
추가로
./gradlew clean
을 통해 build 파일을 제거할 수 있다.
'Springboot' 카테고리의 다른 글
[스프링 부트] 커스텀 Object Mapper (0) | 2024.07.09 |
---|---|
[스프링 부트] 멀티 모듈 Bean 등록 (0) | 2024.07.08 |
[스프링 부트] Converter, CRUD 추상화 (0) | 2024.07.05 |
[스프링 부트] AOP, Pointcut (0) | 2024.07.04 |
[스프링 부트] Filter (0) | 2024.07.04 |