Schritte zur schnellen Verwendung von Gradle
Wenn Sie ein wenig besser geworden sind, lesen Sie die folgenden Informationen, um ein besseres Verständnis zu erhalten (insbesondere, wenn Sie sich nicht mit Groovy auskennen).
Einführung in das Lesen und Schreiben von build.gradle für diejenigen, die Groovy nicht kennen
Laden Sie die Binärdatei von https://gradle.org/install/#manually herunter, entpacken Sie sie und beenden Sie sie mit dem Pfad zum bin-Verzeichnis
export GRADLE_HOME=・ ・ ・
export PATH="${GRADLE_HOME}/bin:${PATH}"
Erstellen Sie ein Verzeichnis wie folgt. Es scheint Mavens Plug-In-Entwicklung zu folgen, aber ich denke nicht tief nach. Das oberste Verzeichnis wird zum Namen von jar
[Top-Verzeichnis]
+-- build.gradle
+-- src/
+-- main/
+-- groovy/
+-- java/
+-- resources/
+-- test/
+Ausgelassen, weil es das gleiche ist wie unter main
Die Rollen unter main sind wie folgt
--build.gradle: Makefile für make. Datei, die der build.xml von ant entspricht --groovy: Fügen Sie die groovige Datei ein --java: Java-Quellcode --resources: Geben Sie Eigenschaften, Bilder (Symbole) usw. ein. Es wird automatisch als Klassenpfad eingegeben, wenn es mit gradle ausgeführt wird. Die darin enthaltenen Verzeichnisdateien sind auch im Hauptteil enthalten. Fügen Sie also nichts ein, was Sie nicht hier aufnehmen möchten
Fügen Sie den entsprechenden Code in main / src / java ein und fügen Sie die folgende Zeile in die Datei build.gradle ein
build.gradle
apply plugin: 'java'
Führen Sie gradle build aus
Unter dem obersten Verzeichnis wird ein Erstellungsverzeichnis erstellt und verschiedene Dateien werden erstellt. Es ist wunderbar. Zu diesem Zeitpunkt beschloss ich, mit Ameise Schluss zu machen
build
|-- classes
| `-- java
| `-- main
| `-- Test.class
|-- distributions
| |-- sandbox.tar
| `-- sandbox.zip
|-- libs
| `-- sandbox.jar
|-- scripts
| |-- sandbox
| `-- sandbox.bat
`-- tmp
|-- compileJava
`-- jar
`-- MANIFEST.MF
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
runtime files('src/main/dist/lib/properties')
}
--Der in compile angegebene wird in das lib-Verzeichnis der Uniform Distribution aufgenommen.
Fügen Sie einfach die folgenden zwei Zeilen zu build.gradle hinzu und führen Sie gradle run aus
apply plugin: 'application'
mainClassName = 'Klassenname, den Sie ausführen möchten'
~~ Wenn Sie nach Klassenpfaden suchen möchten, z. B. nach einer Eigenschaftendatei, legen Sie diese im Ressourcenverzeichnis ~~ ab Da dies Auswirkungen auf die Verteilung hat, legen Sie sie mithilfe von Abhängigkeiten entsprechend fest Wenn Sie es nur verschieben möchten, tauchen Sie einfach in Ressourcen ein und es ist in Ordnung
Um zur Laufzeit einen Klassenpfad hinzuzufügen, fügen Sie build.gradle Folgendes hinzu (das folgende Beispiel zeigt das Hinzufügen eines Verzeichnisses). Fühlen Sie sich frei, Filetree usw. hier zu verwenden
dependencies {
runtime files('src/main/dist/lib/properties')
}
Die tar (zip) -Datei unter build / Distributionen / ist eine Datei, die eine Reihe von JAR, Start-Shell usw. enthält. Sie können dies erweitern
Wenn nur der Java-Quellcode, ist der Inhalt wie folgt
# tar tvf build/distributions/sandbox.tar
drwxr-xr-x 0/0 0 2017-10-14 09:54 sandbox/
drwxr-xr-x 0/0 0 2017-10-14 09:54 sandbox/lib/
-rw-r--r-- 0/0 885 2017-10-14 09:54 sandbox/lib/sandbox.jar
drwxr-xr-x 0/0 0 2017-10-14 09:54 sandbox/bin/
-rwxr-xr-x 0/0 5210 2017-10-14 09:54 sandbox/bin/sandbox
-rwxr-xr-x 0/0 2180 2017-10-14 09:54 sandbox/bin/sandbox.bat
Schritte zum Hinzufügen einer Eigenschaftendatei zu dieser Distribution Die Schlussfolgerung besteht darin, die Eigenschaftendatei mit der folgenden Konfiguration zur Distribution hinzuzufügen
+-- sandbox
+-- lib/properties/~~.properties <--hinzufügen
+-- bin/
Es fühlt sich so an, als ob es sich im lib-Verzeichnis befindet, aber dies scheint eine gute Möglichkeit zu sein, ohne sich zu sehr mit build.gradle herumschlagen zu müssen.
Wie macht man Platzieren Sie die Eigenschaftendatei wie folgt
[Top-Verzeichnis]
+-- build.gradle
+-- src/
+-- main/
+-- dist/
+-- lib/
+-- properties/
+ ~~.properties
Fügen Sie build.gradle Folgendes hinzu
build.gradle
startScripts {
classpath += files('dist/lib/properties')
}
Ich bin mir nicht sicher, aber Sie können es auch mit files ('dist / properties')
machen.
Unter dist müssen Sie es auf dist / lib / ~~~ setzen. Wenn Sie das lib-Verzeichnis entfernen, wird im Verzeichnis direkt unter der Distribution ein Eigenschaftenverzeichnis erstellt.
Wenn Sie gradle build ausführen, wie ich zu Beginn geschrieben habe, wird es in das Verzeichnis lib / properties aufgenommen und auch zum CLASSPATH des Startskripts hinzugefügt.
Das Hinzufügen von CLASSPATH zu diesem Startskript ist ein Engpass. Es wird $ APP_HOME / lib / ~~ sein, es bleibt also keine andere Wahl, als diese Konfiguration zu verwenden ...
Früher habe ich einen symbolischen Linkvorschlag mit dist und resources geschrieben, aber das Objekt im Ressourcenverzeichnis ist in der JAR-Datei des Hauptteils enthalten. Wenn Sie also die Eigenschaft ausgehen möchten, NG Wenn die Eigenschaft jedoch während des Betriebs nicht manipuliert wird, ist es in Ordnung, in das Ressourcenverzeichnis einzutauchen.
Recommended Posts