Dies ist ein sehr einfaches Tutorial zum Erstellen einer einfachen Java-App mit Gradle. Ziel ist es, ein Gefühl für Gradle zu bekommen. Außerdem wird erklärt, wie Gradle Wrapper installiert und verwendet wird.
Ich werde das Build-Skript in Groovy, diese Grammatik in diesem Sinne oder ähnliches nicht erklären [^ 1]. Aber ich denke, Sie können ein Gefühl dafür bekommen. [^ 1]: Nicht detailliert genug, um es überhaupt zu erklären
Voraussetzung ist, dass JDK6 oder höher heruntergeladen wird. Sie benötigen keine IDE, nur einen Texteditor.
Erstellen Sie zunächst ein Java-Projekt, das mit Gradle erstellt werden soll. Halten Sie das Projekt so einfach wie möglich, um sich auf Gradles Beschreibung zu konzentrieren.
Erstellen Sie die folgende Verzeichnisstruktur unter Ihrem Lieblingsverzeichnis.
└── src
└── main
└── java
└── hello
Erstellen Sie zwei Klassen, 'HelloWorld.java' und'Greeter.java ', im Verzeichnis src / main / java / hello
.
src/main/java/hello/HelloWorld.java
package hello;
public class HelloWorld {
public static void main(String[] args) {
Greeter greeter = new Greeter();
System.out.println(greeter.sayHello());
}
}
src/main/java/hello/Greeter.java
package hello;
public class Greeter {
public String sayHello() {
return "Hello world!";
}
}
Lassen Sie uns Gradle installieren.
Sie können die Binärdateien von http://www.gradle.org/downloads herunterladen. DL-extrahiere gradle-version-bin.zip
und lege den Pfad zum Ordner bin
.
Sie können auch das folgende Installationsprogramm verwenden.
Führen Sie den folgenden Befehl aus, um festzustellen, ob er installiert wurde
gradle
Wenn die Installation erfolgreich ist, wird eine Begrüßungsnachricht angezeigt.
>gradle
Starting a Gradle Daemon (subsequent builds will be faster)
:help
Welcome to Gradle 3.2.1.
To run a build, run gradle <task> ...
To see a list of available tasks, run gradle tasks
To see a list of command-line options, run gradle --help
To see more detail about a task, run gradle help --task <task>
BUILD SUCCESSFUL
Total time: 8.667 secs
Damit ist die Gradle-Installation abgeschlossen.
gradle tasks Führen Sie den folgenden Befehl im Projektverzeichnis aus.
gradle tasks
Der Befehl "Gradle-Aufgaben" zeigt die Aufgaben an, die mit Gradle ausgeführt werden können. An dieser Stelle sollten Sie die folgenden grundlegenden Aufgaben sehen:
:tasks
------------------------------------------------------------
All tasks runnable from root project
------------------------------------------------------------
Build Setup tasks
-----------------
init - Initializes a new Gradle build. [incubating]
wrapper - Generates Gradle wrapper files. [incubating]
Help tasks
----------
buildEnvironment - Displays all buildscript dependencies declared in root project 'hello'.
components - Displays the components produced by root project 'hello'. [incubating]
dependencies - Displays all dependencies declared in root project 'hello'.
dependencyInsight - Displays the insight into a specific dependency in root project 'hello'.
dependentComponents - Displays the dependent components of components in root project 'hello'. [incubating]
help - Displays a help message.
model - Displays the configuration model of root project 'hello'. [incubating]
projects - Displays the sub-projects of root project 'hello'.
properties - Displays the properties of root project 'hello'.
tasks - Displays the tasks runnable from root project 'hello'.
To see all tasks and more detail, run gradle tasks --all
To see more detail about a task, run gradle help --task <task>
BUILD SUCCESSFUL
Total time: 1.244 secs
Nun, es macht im Anfangszustand nicht viel Sinn, aber wenn Sie wissen möchten, welche Art von Aufgaben ausgeführt werden können, ist es eine gute Idee, daran zu denken, dass dieser Befehl verwendet wird.
Erstellen Sie eine build.gradle
-Datei direkt unter dem Projektordner.
build.gradle
apply plugin: 'java'
Diese Zeile zeigt an, dass Sie dieses Projekt mit einem Java-Plug-In erstellen.
Führen Sie "Gradle Tasks" erneut aus. Es werden neue Aufgaben hinzugefügt, z. B. das Erstellen eines Projekts, das Erstellen eines JavaDoc und das Ausführen von Tests.
Lassen Sie es uns gleich bauen.
gradle build
gradle build
wird von nun an häufig verwendet. Wie der Name schon sagt, handelt es sich um einen Befehl zum Ausführen eines Builds. Nach einigen Sekunden wird "BUILD SUCCESS FUL" angezeigt, um anzuzeigen, dass der Build abgeschlossen ist.
Schauen Sie sich den Ordner "build" an, um die Build-Ergebnisse zu sehen. Es gibt mehrere Ordner.
classes Enthält die .class-Datei, als der Java-Code kompiliert wurde. Diesmal sollte HelloWorld.class'and'Greeter.class 'erstellt worden sein
dependency-cache Enthält .jar für abhängige Module. Es ist zu diesem Zeitpunkt leer.
libs Die erstellte Bibliothek (normalerweise jar oder war) wird gespeichert.
Nachdem der Build abgeschlossen ist, führen wir ihn aus. Es ist möglich, es mit dem Befehl java
auszuführen, aber da es eine große Sache ist, lassen Sie es uns von gradle aus ausführen. Ändern Sie build.gradle
wie folgt.
build.gradle
apply plugin: 'java'
apply plugin: 'application'
mainClassName = 'hello.HelloWorld'
Mit dem Anwendungs-Plug-In können Sie eine Anwendung mit dem Befehl gradle run
starten.
>gradle run
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:run
Hello world!
BUILD SUCCESSFUL
Total time: 1.786 secs
Die Samples hängen bisher nicht von einer externen Bibliothek ab, so dass die Verwendung von Gradle nicht viel Geschmack hat.
Ändern wir es daher so, dass nicht nur "Hallo Welt!", Sondern auch das aktuelle Datum und die aktuelle Uhrzeit angezeigt werden. Sie können die Java-API für Datum und Uhrzeit der Java-Standardbibliothek verwenden. Zur Erläuterung verwenden wir jedoch Joda-Zeitbibliotheken.
Ändern Sie zunächst HelloWorld.java wie folgt:
HelloWorld.java
package hello;
import org.joda.time.LocalTime;
public class HelloWorld {
public static void main(String[] args) {
LocalTime currentTime = new LocalTime();
System.out.println("The current local time is: " + currentTime);
Greeter greeter = new Greeter();
System.out.println(greeter.sayHello());
}
}
Hello World verwendet die Ortszeit von Joda Time, um die aktuelle Uhrzeit abzurufen und anzuzeigen.
Führen Sie nun "gradle build" aus. Es schlägt fehl, weil Joda Time nicht aufgelöst werden kann.
Lassen wir nun gradle die Abhängigkeit auflösen. Ändern Sie build.gradle
.
build.gradle
apply plugin: 'java'
apply plugin: 'application'
mainClassName = 'hello.HelloWorld'
repositories {
mavenCentral()
}
jar {
baseName = 'gs-gradle'
version = '0.1.0'
}
sourceCompatibility = 1.8
targetCompatibility = 1.8
dependencies {
compile "joda-time:joda-time:2.2"
testCompile "junit:junit:4.12"
}
Der Block "Repositorys" gibt an, dass das zentrale Maven-Repository für das Repository verwendet wird.
Der Glasblock gibt den Namen des Glases an. In diesem Fall wäre es "gs-gradle-0.1.0.jar".
Der Block "Abhängigkeiten" deklariert Abhängigkeiten von Joda Time. Insbesondere die Joda-Time-Bibliothek der Joda-Time-Gruppe, Version 2.2.
compile
gibt an, dass die Abhängigkeit nur zur Kompilierungszeit gültig ist. Es ist der Kompilierungsbereich in Maven. Andere Abhängigkeitstypen
availableCompile
Erforderlich zur Kompilierungszeit, aber zur Laufzeit wie die vom Container bereitgestellte Abhängigkeits-Servlet-API. In Maven bereitgestellt.testCompile
Abhängigkeiten, die beim Kompilieren, Zeit und Testen erforderlich sind. Nicht in Build-Artefakten enthalten. Wie jUnit. Test in Maven.Führen Sie nun "gradle build" erneut aus. gradle löst die Joda-Zeitabhängigkeit aus dem zentralen Mave-Repository auf und der Build ist erfolgreich.
Das Projekt sollte gut laufen.
>gradle run
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:run
The current local time is: 01:56:47.665
Hello world!
BUILD SUCCESSFUL
Total time: 1.308 secs
Gradle Wapper Wenn Sie diese Art von Tool in einem Projekt verwenden, das aus mehreren Personen besteht, ist es schwierig, Installationsverfahren für andere Mitglieder vorzubereiten und andere Versionen zu verwenden.
Hier kommt Gradle Wapper ins Spiel. Durch die Installation von Gradle Wapper in einem Projekt kann jeder ein Projekt mit derselben Version von gradle erstellen, unabhängig von der Umgebung wie Windows, Mac, Linux.
Die Installation von Gradle Wapper ist einfach. Führen Sie einfach den folgenden Befehl direkt unter dem Projekt aus.
$ gradle wrapper --gradle-version 2.13
└── <project folder>
└── gradlew
└── gradlew.bat
└── gradle
└── wrapper
└── gradle-wrapper.jar
└── gradle-wrapper.properties
./gradlew build
./gradlew run
Damit ist die Installation von Gradle Wrapper abgeschlossen. Es ist einfach zu bedienen, führen Sie einfach "gradlew (.bat)" direkt unter dem Projekt anstelle des Befehls gradle aus. * Das Herunterladen der angegebenen Version von gradle dauert bei der ersten Ausführung einige Zeit. Natürlich können Sie auch andere Befehle ausführen. Übertragen Sie einfach die von gradle init
erstellte Datei an git oder svn (und drücken Sie einfach diesen Befehl und schreiben Sie eine Zeile in die Readme-Datei), und niemand wird gradlew ohne schwierige Installationsarbeiten durchlaufen Sie können gradle mit verwenden. Es ist gut durchdacht. Am Ende denke ich, dass Sie ein Gefühl für Gradle bekommen können. Es ist nicht möglich, ein vollständiges Projekt mit dem Inhalt dieses Artikels allein zu erstellen. Die Hürde, andere Artikel im Zusammenhang mit Gradle zu lesen, hätte jedoch verringert werden müssen. Holen Sie sich die Informationen, die Sie benötigen, und holen Sie das Beste aus Gradle heraus.
Ich hoffe, dieser Artikel hat Ihnen die Möglichkeit gegeben, Gradle zu verwenden.
Recommended Posts