[JAVA] Werfen Sie einen kurzen Blick auf Gradle und lesen Sie das von Spring Initializr generierte build.gradle

Implementierung eines einfachen Web-REST-API-Servers mit Spring Boot + MySQL - Qiita

Outline Lesen Sie das von Spring Initializr automatisch generierte build.gradle. Schauen Sie sich Gradle an, um es zu lesen.

References Gradle Build Tool Gradle User Guide

What is Gradle

Kapitel 1 Einführung

Gradle ist ein Build-System in einer Java-Umgebung (JVM)

Verwenden Sie anstelle von Maven. Es importiert abhängige Bibliotheken, kompiliert, erstellt Jars, führt Tests durch und vieles mehr.

Install Wenn Sie IntelliJ verwenden, wird es zusammen installiert. Sie können es auch mit Homebrew installieren. Es war hier in meiner Umgebung.

% ~/.gradle/wrapper/dists/gradle-4.5.1-bin/a5vbgfvpwtoqz8v2cdivxz28k/gradle-4.5.1/bin/gradle -v  

------------------------------------------------------------
Gradle 4.5.1
------------------------------------------------------------

Build time:   2018-02-05 13:22:49 UTC
Revision:     37007e1c012001ff09973e0bd095139239ecd3b3

Groovy:       2.4.12
Ant:          Apache Ant(TM) version 1.9.9 compiled on February 2 2017
JVM:          1.8.0_162 (Oracle Corporation 25.162-b12)
OS:           Mac OS X 10.13.3 x86_64

build.gradle Bearbeiten Sie diese Datei grundsätzlich. Es ist wie pom.xml. Hier ist diejenige, die automatisch durch das Erstellen des Projekts generiert wird.

build.gradle


buildscript {
    ext {
        springBootVersion = '2.0.2.RELEASE'
    }
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8

repositories {
    mavenCentral()
}


dependencies {
    compile('org.springframework.boot:spring-boot-starter-data-jpa')
    compile('org.springframework.boot:spring-boot-starter-web')
    runtime('mysql:mysql-connector-java')
    compileOnly('org.projectlombok:lombok')
    testCompile('org.springframework.boot:spring-boot-starter-test')
}

Mal sehen, was in der Reihenfolge von oben geschrieben steht.

buildscript Abhängigkeiten auflösen Ein Block zum Auflösen der eigenen Abhängigkeiten von gradle.build. Es scheint, dass das von Spring Boot generierte Gradle-Projekt den Gradle-Plug von Spring Boot verwendet.

ext Wenn Sie eine Variable deklarieren.

repositories Geben Sie das Repository der abhängigen Bibliothek an. Sie geben das zentrale Repository von Maven an. Die Methode zur Angabe per URL ist wie folgt.

repositories {
    maven {
        url 'https://repo.spring.io/libs-snapshot'
    }
}

[Kapitel 51 Abhängigkeitsmanagement](http://gradle.monochromeroad.com/docs/userguide/dependency_management.html#sec: Repositorys)

dependencies Wenn Sie die Bibliothek angeben. Sie verwenden den Springboot Gradle Plug.

apply Deklarieren Sie ein Plug-In. Diese beiden sind Plug-Ins, die vom Federstiefel abhängen.

apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

org.springframework.boot Dies wurde hinzugefügt.

Application tasks
-----------------
bootRun - Runs this project as a Spring Boot application.

Eine Aufgabe, die sogar die Anwendung ausführt. Jetzt können Sie die Spring Boot-Anwendung starten.

io.spring.dependency-management Dieser Typ sieht toll aus. Ein Plug-In, das den Stücklistenmechanismus von Maven reproduziert. ※BOM (bill of materials) Ein Mechanismus, mit dem jede Bibliothek ihre eigenen Abhängigkeiten definiert. Kurz gesagt, wenn Sie eine Bibliothek haben, die Sie verwenden möchten, können Sie diese verwenden, indem Sie diese Bibliothek und die Stückliste dieser Bibliothek beschreiben.

Leider hat Gradle diesen Mechanismus nicht. Sie können es mit diesem Plug-In tun.

In diesem build.gradle wird jedoch keine Stückliste verwendet.

Wenn Sie es tatsächlich verwenden, verwenden Sie es in den folgenden Blöcken. Spring-Cloud-Stream-Beispiel

dependencyManagement {
     imports {
          mavenBom 'org.springframework.cloud:spring-cloud-stream-dependencies:Fishtown.BUILD-SNAPSHOT'
     }
}

Ergebnisse

Die Version wird hier betrieben Unter Icchan befindet sich die Version von jdk

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8

repositories Mit dem Buildscript-Typ

dependencies Beschreiben Sie die abhängige Bibliothek. Die am Anfang geschriebene heißt Konfiguration. Kapitel 23 Java-Plugins

Name Erweiterungsquelle Zu verwendende Aufgaben Bedeutung
compile - compileJava Abhängigkeiten zur Kompilierungszeit
runtime compile - Laufzeitabhängigkeiten
testCompile compile compileTestJava Zusätzliche Abhängigkeiten beim Kompilieren des Tests
testRuntime runtime, testCompile test Zusätzliche Abhängigkeiten beim Ausführen von Tests
archives - uploadArchives Durch dieses Projekt erzeugte Artefakte(JAR-Datei usw.)
default runtime - Die Standardkonfiguration, die von Projekten verwendet wird, die von diesem Projekt abhängen. Es enthält die Artefakte und Abhängigkeiten, die dieses Projekt zur Laufzeit benötigt.

Es gibt viele andere Möglichkeiten, es wie folgt zu schreiben.

dependencies {
    runtime group: 'org.springframework', name: 'spring-core', version: '2.5'
    runtime 'org.springframework:spring-core:2.5',
            'org.springframework:spring-aop:2.5'
    runtime(
        [group: 'org.springframework', name: 'spring-core', version: '2.5'],
        [group: 'org.springframework', name: 'spring-aop', version: '2.5']
    )
    runtime('org.hibernate:hibernate:3.0.5') {
        transitive = true
    }
    runtime group: 'org.hibernate', name: 'hibernate', version: '3.0.5', transitive: true
    runtime(group: 'org.hibernate', name: 'hibernate', version: '3.0.5') {
        transitive = true
    }
}

Bonus

Hello World Dies ist ein Skript.

% cat build.gradle
task hello {
    doLast {
        println 'Hello world!'
    }
}

% gradle hello 

> Task :hello
Hello world!


BUILD SUCCESSFUL in 0s
1 actionable task: 1 executed

Recommended Posts

Werfen Sie einen kurzen Blick auf Gradle und lesen Sie das von Spring Initializr generierte build.gradle
Ein kurzer Blick auf das Monty Hall-Problem
Schauen wir uns das Verfahren zum Starten der Hotspot-JVM an
Werfen wir einen Blick auf den Bildschirm von Quant Analyzer!
Ein kurzer Rückblick auf Java in den letzten fünf Jahren
Untersuchen Sie den Inhalt der WAR-Datei, die von dem von Spring Initializr erstellten Projekt generiert wurde
Ein Blick auf Jenkins, OpenJDK 8 und Java 11
Werfen wir einen Blick auf die Funktionen der Keycloak-Verwaltungskonsole (Administrator Edition).
Dateien zeilenweise lesen VS sofort lesen
Werfen wir einen Blick auf die Funktionen der Keycloak-Verwaltungskonsole (User Edition), dem Benutzerkontodienst