[JAVA] Gradle Memorandum

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

Installation

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}"

Verzeichnisaufbau

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

kompilieren

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

Klassenpfad hinzufügen

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.

Lauf

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')
}

Handouts

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

Gradle Memorandum
Gradle
Memorandum
Memorandum
Mein Batis-Memorandum
Java-Memorandum
Rails Memorandum
Jaba Jaba Denken Sie daran
JavaFx-Memorandum
JAVA Memorandum
JUnit Memorandum
Docker Memorandum
Gradle-Installation
Thymeleaf Memorandum
Gradle-Aufgabendefinitionen
Technisches Memorandum (Docker)
Protokoll-Level-Memorandum
Apache FreeMarker Memorandum
Bildschirmübergangsmemorandum
Gradle japanische Übersetzung
Rails Tutorial Memorandum 1
Rails Tutorial Memorandum 2
Was ist Gradle?
Docker-Befehlsmemorandum
Java-Studienmemorandum
Spring Boot Denken Sie daran
[Java] Optionales Memorandum
Memorandum (Spring Web)