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.
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.
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
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.
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.
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.
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.
Verwenden Sie ** [Datei] ** -> ** Importieren ** in der Menüleiste, um den Importassistenten aufzurufen.
Wählen Sie ** Vorhandene Projekte in Arbeitsbereich ** und klicken Sie auf ** Weiter **.
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.
--src / main / java Hauptkörper-Quelldatei --src / main / resources Hauptressourcendatei --src / test / java Unit-Test-Quelldatei --src / test / resources Unit-Test-Ressourcendatei
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.
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
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.
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
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')
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.
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
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