Gradle

Gradle 7.1

잔망루피 2023. 3. 19. 22:41
반응형

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 

 

Gradle - Plugins

 

plugins.gradle.org

 

 

compileOnly

컴파일 시점에 꼭 필요한 라이브러리

컴파일 이후에 실제 실행시 해당 라이브러리가 없어도 된다.

 

runtimeOnly

컴파일 시점에는 필요없지만 실행 시점에는 꼭 필요한 라이브러리

 

sourceCompatibility

코드에 작성할 언어 버전

 

targetCompatibility

프로그램이 수행될 수 있는 최소 자바 버전

 

 

 


참고 👇

https://docs.gradle.org/7.1/samples/sample_building_java_applications.html

 

Building Java Applications Sample

From inside the new project directory, run the init task using the following command in a terminal: gradle init. When prompted, select the 2: application project type and 3: Java as implementation language. Next you can choose the DSL for writing buildscri

docs.gradle.org

 

https://www.inflearn.com/questions/139849/build-gradle%EC%97%90%EC%84%9C-runtimeonly-%EB%8B%A8%EC%96%B4

 

build.gradle에서 runtimeOnly 단어 - 인프런 | 질문 & 답변

build.gradle파일에서 h2데이터 베이스 관련 라이브러리 추가하실때 아래와 같은 코드를 사용했습니다. maven repository에 들어가면 testCompile쓰던데 runtimeOnly로 쓰셨던것은 어떤 이유인가요? dependencies{

www.inflearn.com

 

반응형