[JAVA] Mémorandum Gradle

Étapes pour utiliser Gradle rapidement

Une fois que vous vous êtes un peu amélioré, lisez ce qui suit pour mieux comprendre (surtout si vous ne connaissez pas groovy)

Introduction à la lecture et à l'écriture de build.gradle pour ceux qui ne connaissent pas Groovy

Installation

Téléchargez le binaire depuis https://gradle.org/install/#manually, décompressez-le et terminez par le chemin du répertoire bin

export GRADLE_HOME=・ ・ ・
export PATH="${GRADLE_HOME}/bin:${PATH}"

Structure du répertoire

Créez un répertoire comme suit. Cela semble suivre le développement du plug-in de Maven, mais je n'y pense pas profondément. Le répertoire supérieur devient le nom du pot

[Top répertoire]
  +-- build.gradle
  +-- src/
      +-- main/
          +-- groovy/
          +-- java/
          +-- resources/
      +-- test/
          +Omis car c'est le même que sous main

Les rôles sous main sont les suivants

--build.gradle: Makefile pour make. Fichier équivalent au build.xml de fourmi --groovy: Insérez le fichier groovy --java: code source Java --resources: entrez les propriétés, les images (icônes), etc. Il est automatiquement entré comme chemin de classe lors de l'exécution avec gradle. Les fichiers de répertoire qu'il contient sont également inclus dans le fichier jar du corps principal, alors ne mettez rien que vous ne voulez pas inclure ici

compiler

Mettez le code approprié dans main / src / java et placez la ligne suivante dans le fichier build.gradle

build.gradle


apply plugin: 'java'

Exécuter gradle build

Un répertoire de construction est créé sous le répertoire supérieur et divers fichiers sont créés. C'est incroyable. À ce stade, j'ai décidé de rompre avec la fourmi

build
|-- classes
|   `-- java
|       `-- main
|           `-- Test.class
|-- distributions
|   |-- sandbox.tar
|   `-- sandbox.zip
|-- libs
|   `-- sandbox.jar
|-- scripts
|   |-- sandbox
|   `-- sandbox.bat
`-- tmp
    |-- compileJava
    `-- jar
        `-- MANIFEST.MF

Ajouter un chemin de classe

dependencies {
  compile fileTree(dir: 'libs', include: '*.jar')
  runtime files('src/main/dist/lib/properties')
}

Courir

Ajoutez simplement les deux lignes suivantes à build.gradle et exécutez gradle run

apply plugin: 'application'
mainClassName = 'Nom de classe que vous souhaitez exécuter'

~~ S'il y a quelque chose à rechercher pour le chemin de classe tel que le fichier de propriétés, placez-le dans le répertoire des ressources ~~ Puisqu'il affecte la distribution, définissez-le de manière appropriée en utilisant les dépendances Si vous voulez juste le déplacer, plongez-vous dans les ressources et c'est OK

Pour ajouter un chemin de classe au moment de l'exécution, ajoutez ce qui suit à build.gradle (ce qui suit est un exemple d'ajout d'un répertoire). N'hésitez pas à utiliser filetree etc. ici

dependencies {
   runtime files('src/main/dist/lib/properties')
}

Documents à distribuer

Le fichier tar (zip) sous build / distributions / est un fichier qui contient un ensemble de jar, shell de démarrage, etc. Vous pouvez développer ceci

Si seul le code source Java, le contenu est le suivant

# 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

Étapes d'ajout d'un fichier de propriétés à cette distribution La conclusion est d'ajouter le fichier de propriétés à la distribution avec la configuration suivante

+-- sandbox
    +-- lib/properties/~~.properties <--ajouter à
    +-- bin/

On dirait que c'est sous le répertoire lib, mais cela semble être un bon moyen de le faire sans avoir à trop jouer avec build.gradle.

Comment faire Placez le fichier de propriétés comme suit

[Top répertoire]
  +-- build.gradle
  +-- src/
      +-- main/
          +-- dist/
              +-- lib/
                  +-- properties/
                      + ~~.properties

Ajoutez ce qui suit à build.gradle

build.gradle


startScripts {
    classpath += files('dist/lib/properties')
}

Je ne suis pas sûr, mais vous pouvez aussi le faire avec files ('dist / properties'). Sous dist, vous devez le définir sur dist / lib / ~~~. Si vous supprimez le répertoire lib, un répertoire de propriétés sera créé dans le répertoire directement sous la distribution.

Si vous faites un build gradle, comme je l'ai écrit au début, il sera inclus dans le répertoire lib / properties et également ajouté au CLASSPATH du script de démarrage.

L'ajout de CLASSPATH à ce script de démarrage est un goulot d'étranglement. Ce sera $ APP_HOME / lib / ~~, il n'y a donc pas d'autre choix que d'utiliser cette configuration ...

J'avais l'habitude d'écrire une proposition de lien symbolique avec dist et resources, mais la chose dans le répertoire resources est incluse dans le fichier jar du corps principal, donc si vous voulez sortir la propriété, NG Cependant, si la propriété n'est pas altérée pendant le fonctionnement, vous pouvez plonger dans le répertoire des ressources.

Recommended Posts

Mémorandum Gradle
Gradle
mémorandum
mémorandum
Mon mémorandum Batis
Mémorandum Java
Mémorandum Rails
Jaba Jaba Souvenez-vous
Mémorandum JavaFx
Mémorandum JAVA
Mémorandum JUnit
Mémorandum Docker
Installation de Gradle
mémorandum thymeleaf
Définitions des tâches Gradle
Mémorandum technique (Docker)
Mémorandum de niveau de journal
Mémorandum Apache FreeMarker
Mémorandum de transition d'écran
Traduction en japonais de Gradle
Mémorandum du didacticiel Rails 1
Tutoriel Rails Memorandum 2
Qu'est-ce que Gradle?
Mémorandum de commande Docker
Mémorandum d'étude Java
Spring Boot Rappelez-vous
[Java] Mémorandum facultatif
Mémorandum (Spring Web)