[JAVA] Gradle zum Anfassen und Erinnern

Was macht Gradle glücklich?

Ich dachte, das wäre das gleiche, als ich Docker den Leuten empfahl, aber um ehrlich zu sein, ist es schwierig, die Güte zu vermitteln. Ob Gradle oder Docker, jede Person hat ihren eigenen Reiz, und selbst wenn Sie versuchen, die Bequemlichkeit zu vermitteln, fällt Ihnen dies nicht wirklich ein. Diejenigen, die zuhören, bleiben in der Position "Ich verstehe, es scheint bequem." Erstens Leute, die sagen: "Ernsthaft! Lass es uns jetzt benutzen!" Sie müssen es nicht erklären, weil sie versuchen, es selbst zu berühren und zu begreifen, was es ist. Ich möchte nur in der Lage sein, "es vorerst zu verwenden". Es gibt jedoch viele Fälle, in denen die Fähigkeit dazu nicht erreicht wurde. Vorerst ... was soll ich tun?

Daher ist dem Tag dieses Artikels "Training" beigefügt. Um die vielen nützlichen Tools der Welt selbst verwenden zu können, ist dies wahrscheinlich der beste Weg, um eine Erfolgsbilanz bei der Verwendung einiger dieser Tools zu erstellen.

Dieser Artikel wird Ihnen helfen, Gradle als Ihre Stärke zu behandeln. Als ich wusste, womit ich zufrieden war, hatte ich bereits eine Waffe.

Gradle installieren

In diesem Artikel wird angenommen, dass das Betriebssystem des Entwicklungscomputers Windows ist. Die IDE ist Eclipse. Daher gibt es einige spezifische Verfahren und Beschreibungen. Wenn Sie es noch nicht installiert haben, sollten Sie auf jeden Fall versuchen, den Paket-Manager zu verwenden. Es gibt Homebrew usw. auf dem Mac, aber da Windows angenommen wird, wird das Verfahren mit Scoop beschrieben. Starten wir zunächst Power Shell mit Administratorrechten.

Skriptausführung zulassen

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force

Schaufel installieren

iex (new-object net.webclient).downloadstring('https://get.scoop.sh')

Gradle installieren

scoop install gradle

Es sind noch ein paar Schritte erforderlich, um den Proxy zu durchlaufen (wie man mit PowerShell in den Proxy eintaucht, ist mein Manuskript (fast) CUI-Verfahren von der Installation bis zur Verwendung von Docker for Window Es ist eine günstige Zeit, da Sie es installieren können, indem Sie 3 Befehlszeilen kopieren und einfügen. Es gibt keinen Verlust, einen Paketmanager namens scoop einzuschließen. Wenn Sie diese Gelegenheit nutzen, können Sie später glücklich sein.

Erstellen Sie einen Projektordner

Verwenden wir sofort gradle. Erstellen Sie auf jeden Fall einen Ordner für das Projekt. Erstellen Sie einen Ordner mit dem Projektnamen. Diesmal war es "Yebisu". Natürlich ist dies das Bier, das ich jetzt trinke. Verwenden Sie nach dem Erstellen den Explorer, um den Yebisu-Ordner aufzurufen, und drücken Sie ** Umschalt + Rechtsklick **, um das Menü aufzurufen. Es sollte ein Menü namens ** PowerShell-Fenster hier öffnen ** geben. Wählen Sie es aus und starten Sie PowerShell.

Erstellen eines Gradle-Projekts

gradle init

Wenn Sie dies tun, gibt es einige Fragebögen. Lassen Sie uns diesmal Folgendes eingeben, da es sich um eine Java-Anwendung handelt.

PS D:\git-private\Yebisu> gradle init
Starting a Gradle Daemon, 1 busy Daemon could not be reused, use --status for details

Select type of project to generate:
  1: basic
  2: application
  3: library
  4: Gradle plugin
Enter selection (default: basic) [1..4] 2

Select implementation language:
  1: C++
  2: Groovy
  3: Java
  4: Kotlin
  5: Swift
Enter selection (default: Java) [1..5] 3

Select build script DSL:
  1: Groovy
  2: Kotlin
Enter selection (default: Groovy) [1..2] 1

Select test framework:
  1: JUnit 4
  2: TestNG
  3: Spock
  4: JUnit Jupiter
Enter selection (default: JUnit 4) [1..4] 4

Project name (default: Yebisu):

Source package (default: Yebisu): yebisu


> Task :init
Get more help with your project: https://docs.gradle.org/6.1/userguide/tutorial_java_projects.html

BUILD SUCCESSFUL in 1m 28s
2 actionable tasks: 2 executed

Sie haben jetzt ein Projekt erstellt. Bitte lassen Sie dieses PowerShell-Fenster nicht geschlossen.

Machen Sie es zu einem Eclipse-Projekt

Die IDE ist diesmal Eclipse. Verwenden Sie das Eclipse-Plug-In, um es zu einem Eclipse-Projekt zu machen. Dieser Bereich ist ein Routineverfahren. Der Ordner sollte bereits build.gradle enthalten. Öffnen Sie ihn also mit einem Texteditor. Fügen Sie Eclipse zu Plugins hinzu. Fügen Sie ** id'eclipse '** zur nächsten Zeile von ** id'application' ** hinzu. Übrigens mag ich keine klaren Kommentare, deshalb habe ich die Kommentare gelöscht.

build.gradle


plugins {
    id 'java'
    id 'application'
    id 'eclipse'
}

//Geben Sie die Codierung nach Bedarf an
compileJava.options.encoding = 'UTF-8'
compileTestJava.options.encoding = 'UTF-8'

repositories {
    jcenter()
}

dependencies {
    implementation 'com.google.guava:guava:28.1-jre'
    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.2'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.2'
}

application {
    mainClassName = 'yebisu.App'
}

test {
    useJUnitPlatform()
}

Führen Sie nach dem Bearbeiten den folgenden Befehl in PowerShell aus.

./gradlew eclipse

Dadurch wird eine **. Project ** **. Classpath ** -Datei usw. erstellt, die in Eclipse importiert werden kann.

In Eclipse importieren

Verwenden Sie ** [Datei] ** -> ** Importieren ** in der Menüleiste, um den Importassistenten aufzurufen. image.png

Wählen Sie ** Vorhandene Projekte in Arbeitsbereich ** und klicken Sie auf ** Weiter **.

image.png

Geben Sie den Pfad des gerade erstellten Projekts in ** Stammverzeichnis auswählen ** ein. Stellen Sie sicher, dass es in ** Projekte ** aktiviert ist, und klicken Sie auf die Schaltfläche ** Fertig stellen **.

Es gibt eine Quelldatei namens App.java, und main sollte dort erstellt werden.

image.png

--src / main / java Hauptkörper-Quelldatei --src / main / resources Hauptressourcendatei --src / test / java Unit-Test-Quelldatei --src / test / resources Unit-Test-Ressourcendatei

Bibliothek hinzufügen

Ich möchte FilenameUtils von ** Apache Commons IO ** verwenden! Was würden Sie in einem solchen Fall tun? Vielleicht habe ich das Commons IO-Jar heruntergeladen und es den Projektabhängigkeiten hinzugefügt. Das ist bei gradle nicht nötig. Alles was Sie tun müssen, ist eine Zeile zu finden, um sie zu verwenden. Lassen Sie uns das Suchwort als ** FilenameUtils maven ** googeln. Sie sollten in der Lage sein, eine Site namens ** MVNrepository ** zu finden.

image.png

Wenn Sie die Registerkarte ** Gradle ** auswählen, wird der Zauber im Textfeld darunter angezeigt. Kopieren wir diesen Zauber. Fügen Sie dies in die Abhängigkeiten von build.gradle ein. Eigentlich ist es besser, eine Kompilierungsimplementierung durchzuführen, aber dieses Mal fügen wir sie so ein, wie sie ist.

build.gradle


dependencies {
    implementation 'com.google.guava:guava:28.1-jre'

	// https://mvnrepository.com/artifact/org.apache.commons/commons-io
	compile group: 'org.apache.commons', name: 'commons-io', version: '1.3.2'

    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.2'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.2'
}

Kehren Sie nach dem Speichern von build.gradle zu PowerShell zurück und verwenden Sie den folgenden Befehl.

./gradlew eclipse

Dateiname Utils ist jetzt einsatzbereit

Kehren wir zu Eclipse zurück und aktualisieren das Projekt mit F5. Sie können auch mit der rechten Maustaste auf das Projekt klicken und es aktualisieren. Wenn Sie den Baum ** Referenzierte Bibliotheken ** öffnen, finden Sie commmons-io-1.3.2.jar. Probieren wir es aus.

Wenn Sie die folgende Zeile in main von App.java schreiben ...

System.out.println(FilenameUtils.getExtension("c:/foo/bar/hoge.fuga"));

Ich denke, ** import org.apache.commons.io.FilenameUtils; ** wird automatisch mit ** Strg + Umschalt + 'O' ** eingefügt. Lassen Sie es uns gleich laufen.

image.png

Im Bild wurde es von Eclipse ausgeführt, kann aber auch von Gradle ausgeführt werden.

./gradlew run
> Task :run
fuga
Hello world.

BUILD SUCCESSFUL in 2s
2 actionable tasks: 1 executed, 1 up-to-date

Richtig umschreiben

Kompilieren ist eigentlich eine alte Schreibweise. Die Beschreibung von Gruppe, Name und Version kann vereinfacht werden.

build.gralde


compile group: 'org.apache.commons', name: 'commons-io', version: '1.3.2'
 ↓
implementation 'org.apache.commons:commons-io:1.3.2'

Es können auch mehrere Implementierungen zusammen geschrieben werden.

    implementation('com.google.guava:guava:28.1-jre'
                  ,'org.apache.commons:commons-io:1.3.2')

Lombok hinzufügen

Die meisten Bibliotheken können mit der oben beschriebenen Methode importiert werden, der Anmerkungsprozessor verfügt jedoch über eine andere Methode. Ich füge den Abhängigkeiten bedingungslos Folgendes hinzu, weil ich im Käfig meiner eigenen Persönlichkeit kämpfen würde, die ich aufgebaut hatte, ohne Lombok zu kennen.

build.gradle


	compileOnly 'org.projectlombok:lombok:1.18.4'
	annotationProcessor "org.projectlombok:lombok:1.18.4"
	testCompileOnly 'org.projectlombok:lombok:1.18.4'
	testAnnotationProcessor "org.projectlombok:lombok:1.18.4"

Wenn Sie Lombok nicht installiert haben, müssen Sie dies tun. Die Erklärung bleibt der Site überlassen, die die Verwendung von Lombok erklärt. In einfachen Worten können Sie Lombok.jar jedoch durch Doppelklicken starten und installieren. Da es in eclipse.ini beschrieben ist, können Sie es bei einmaliger Installation in einem Projekt verwenden, indem Sie die obigen 4 Zeilen leeren und mit Beton einfügen.

Machen Sie Jar

Ich denke, Sie können das wunderbare Gefühl spüren, dass Bibliotheken auf der Welt leicht importiert und verwendet werden können und dass alle Abhängigkeiten importiert werden. Ich möchte, dass es übertragen wird. Ich hoffe es wird übertragen.

Als ich anfing, springBoot zu benutzen, fing ich an, Gradle mehr anzubeten, aber dieser Artikel ist der letzte, der Jar macht.

Eigentlich kann Jar noch zu diesem Zeitpunkt hergestellt werden.

./gradlew jar

Das ist es. Ich denke, es gibt ein Glas unter dem Ordner **. / Build / libs **. Dies ist nur ein Glas, daher funktioniert es nicht mit -jar, und das Manifest sagt nichts.

Und dieses Mal fügen wir alle Abhängigkeiten in eine JAR-Datei ein und machen sie zu einer ausführbaren JAR-Datei, die selbstständig arbeiten kann. (Normalerweise mache ich das nicht) Fügen Sie build.gradle die folgende Beschreibung hinzu.

build.gradle


jar {
    manifest {
        attributes('Implementation-Title': 'Yebisu'
                 , 'Implementation-Version': 1.0 
                 , 'Main-Class': 'yebisu.App')
    }
    from configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
}

Wenn Sie ein JAR mit `` `./gradlew jar``` erstellen und den folgenden Befehl ausführen, funktioniert es ordnungsgemäß.

java -jar .\build\libs\Yebisu.jar

Die Version und der Titel sind ordnungsgemäß in MANIFEST.MF enthalten.

MANIFEST.MF


Manifest-Version: 1.0
Implementation-Title: Yebisu
Implementation-Version: 1.0
Main-Class: yebisu.App

Schließlich

Wird dieser nächste Schritt darin bestehen, einen Komponententest zu schreiben oder mit Jacoco Bericht zu erstatten? build.gradle ist in der Sprache Groovy geschrieben. (Kann auch in Kotlin geschrieben werden)

Das bedeutet nicht, dass das Lesen und Schreiben von Groovy oder Kotlin obligatorisch ist. Natürlich ist es besser, es zu haben. Aber gut, wenn Sie mit gradle machen können, was Sie wollen, fragen Sie die Welt mit Google und die allgemeine Antwort ist da. Das ist es. ** Weil Gralde keine neue Technologie ist. ** ** **

Es gibt immer noch viele nützliche Dinge auf der Welt. Ich denke, viele von ihnen mögen die Lernkosten nicht. Die meisten Bibliotheken und Tools, die weltweit weit verbreitet sind, sind jedoch die Lernkosten wert.

Es ist eine schlechte Angewohnheit zu glauben, dass es kein Problem gibt, da dies mit der aktuellen Methode möglich ist. Ich möchte auf jeden Fall, dass Sie aktiv nach Waffen suchen, sie aufheben und zu Ihren eigenen machen. Der auf diese Weise kultivierte Produktivitätsunterschied wird in fünf bis zehn Jahren enorm sein.         Kann.

Recommended Posts

Gradle zum Anfassen und Erinnern
Fügen Sie Frühlingsstiefel und Gradle zur Sonnenfinsternis hinzu
Wie benutzt man Gradle?
So installieren Sie Gradle und Kotlin mit SDKMAN (Mac)
Hat zu Gradle beigetragen und wurde im Release Note genannt
Bei Verwendung von Modulen mit Gradle und IntelliJ können keine Ressourcen abgerufen werden
Sammlung ausgewählter Programmieraufgaben zum Erstellen und Erinnern (Java-Grundlagen)
[Bequem zu merken !!!] So konvertieren Sie vom LocalDate-Typ in eine Zeichenfolge und von der Zeichenfolge in den LocalDate-Typ
Dinge, an die Sie sich erinnern sollten, und Konzepte im Ruby on Rails-Tutorial
Beliebte Trends bei Gradle und Maven
11 Entspricht Vergleichs- und logischen Operatoren
Verwendung von EventBus3 und ThreadMode
Im Vergleich zu Summe und Summierung Int
Wie man Ant in Gradle ausführt
Aufrufen von Klassen und Methoden
Wie man Gleichheit und Gleichheit benutzt (wie man Gleichheit benutzt)
So verbinden Sie Heroku und Sequel
So konvertieren Sie LocalDate und Timestamp
Fordern Sie die Installation von WSL2 und Docker heraus
Versuchen Sie "Einführung in Vert.x" mit Gradle
Hallo Welt in Java und Gradle
[Nützlich zum Erinnern !!!] Einfache Erstellung von Konstruktor und Getter / Setter in Eclipse
Server mit Spring Gradle ausführbar So erstellen Sie JAR und WAR