-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle
49 lines (41 loc) · 3.09 KB
/
build.gradle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
// gradle에서 사용할 플러그인 정의
plugins{
// 실제 실행가능한 jar 파일 생성 및 실행 plugin 'java'도 포함(./gradlew tasks 확인시 run 명령어가 생긴걸 볼 수 있음)
// bootRun은 스프링 플러그인에서 제공하는 명령어
id 'application'
// java 플러그인 사용시 자바 컴파일 및 테스트 jar 패키징 등 제공
// id 'java'
}
// plugin이 extends하고있는 속성
application {
// application이 실행하기 위한 mainClass를 정의
mainClass = 'com.example.Main'
}
// 저장소를 어떤 원격 저장소를 사용할것인가에 관한 사항 작성 - 현재 mavenCentral 주력
repositories {
mavenCentral()
}
// 어떤 의존성(라이브러리)를 추가 할것인지에 관한 사항 작성
dependencies {
// 컴파일 및 런타임 두 환경에서 소스코드 제공
implementation('org.springframework.boot:spring-boot-starter-web:2.6.0')
// test용으로 ascii배너를 작성할 수 있는 라이브러리 import
implementation('com.github.lalyos:jfiglet:0.0.9')
// db접근 및 제어를 위한 Spring data jpa 의존성 주입
implementation('org.springframework.boot:spring-boot-starter-data-jpa:2.6.0')
// 수동으로 .jar 다운후 lib 폴더 생성후 h2 .jar파일 추가
implementation files('lib/h2-2.3.230.jar')
// CompileOnly는 컴파일시 사용되며(내 코드에서 이 라이브러리를 참조할 수 있다는 뜻) 런타임 환경에서 하는 작업은 없기 때문에 배포된 애플리케이션 및 런타임클래스패스에서 제외한다.
// lombok의존성 추가 (intellij에선 compile 단계에서 코드를 추가해줘야 하기 때문에 enable annotation processing을 체크해줘야함) /////// (( lombok이 해킹이라고도 볼 수 있다고 함,기존 자바 파일 내부를 수정하기 때문이고 이를 사용하기 위해 AST라는 파일안의 요소를 나열한 TREE가 있는데 이걸 수정하는 API는 공개된API가 아닌,내부 사용 API임))
compileOnly('org.projectlombok:lombok:1.18.12')
// 아래구문을 추가하지 않으면 unmappable character (0xEC) for encoding x-windows-949 에러가 발생한다.
// Declare incremental annotation Processor(Gradle 홈페이지에서 확인 가능) 예는 아래와 같이 정의 또한 이러한 방식이 추가되는 Gradle 버전은 4.7이상부터
annotationProcessor('org.projectlombok:lombok:1.18.12') // gradle 5.X 이상에서는 추가하는 lombok추가 방식이 추가됨
// jUnit test에서 SpringRunner를 사용하기위해 springFramework-test라이브러리 추가(starter와 버전맞춰줘야함)
testImplementation('org.springframework.boot:spring-boot-starter-test:2.6.0')
// 단위테스트를 위한 자바 testing Framework Junit4
testImplementation('junit:junit:4.12')
}
// 인코딩이 제대로 안되어있을시
// idea64.exe.vmpotipn에 추가한다 -Dfile.encoding=UTF-8
// gradle을 통한 build 및 run은 인텔리제이 환경설정이 아닌 컴퓨터 설정이나, gradle설정 혹은 시작시 옵션값을 줘야한다.