build.gradle을 작성할 때 어느정도 기본은 알아야 하니까 ☺️
구조
├── gradle
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── settings.gradle
└── app
├── build.gradle
└── src
├── main
│ └── java
│ └── demo
│ └── App.java
└── test
└── java
└── demo
└── AppTest.java
gradle 👉 wrapper files를 위해 생성된 폴더
gradlew, gradlew.bat 👉 Gradle wrapper는 scripts를 시작한다.
settings.gradle 👉 build name과 subprojects를 정의 하기 위한 세팅 파일
build.gradle 👉 빌드 스크립트
java 👉 기본 Java 소스 폴더 및 Java 테스트 소스 폴더
/*https://docs.gradle.org/7.1/samples/sample_building_java_applications.html*/
plugins {
id 'application'
}
repositories {
mavenCentral()
}
dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter:5.7.1'
implementation 'com.google.guava:guava:30.1-jre'
}
application {
mainClass = 'demo.App'
}
tasks.named('test') {
useJUnitPlatform()
}
plugins 👉 Java에서 CLI 어플리케이션을 빌드하기 위한 지원을 추가
mavenCentral() 👉 의존성을 해결할 때 사용
mainClass = 'demo.App' 👉 어플리케이션에서 사용되는 의존성
🟥 plugin을 검색할 수 있는 곳
https://plugins.gradle.org/search?term=dependency+manage
compileOnly
컴파일 시점에 꼭 필요한 라이브러리
컴파일 이후에 실제 실행시 해당 라이브러리가 없어도 된다.
runtimeOnly
컴파일 시점에는 필요없지만 실행 시점에는 꼭 필요한 라이브러리
sourceCompatibility
코드에 작성할 언어 버전
targetCompatibility
프로그램이 수행될 수 있는 최소 자바 버전
참고 👇
https://docs.gradle.org/7.1/samples/sample_building_java_applications.html
반응형
'Gradle' 카테고리의 다른 글
Error while evaluating property 'mainClass' of task ':bootJar' (0) | 2023.04.07 |
---|---|
Task 'prepareKotlinBuildScriptModel' not found in project ':proto'. (0) | 2023.03.21 |