[JAVA] Introduction aux fichiers JAR

Dans le texte principal, je voudrais résumer de la création du fichier JAR à son utilisation pour les débutants (pour moi-même).

Un fichier JAR est une collection de plusieurs classes et packages Java dans un seul fichier. Un bon moyen de créer ceci est d'utiliser la commande jar ''. La commande jar '' peut être utilisée si le JDK est installé sur le PC.

1. Cet environnement de développement

Créez un fichier JAR dans les conditions suivantes.

・ Machine: MacBook Air 2017
・ Système d'exploitation: macOS High Sierra(10.13.3)
· Version Java: 9.0.4

De plus, les fichiers JAR sont à l'origine utiles pour combiner plusieurs classes et packages Java en un seul fichier, mais par souci de simplicité, nous ne traiterons qu'un seul package et classe.

2. Création de classes Java à combiner dans un fichier JAR

Tout d'abord, créez le Test.java '' utilisé dans cet exemple dans ~ / Documents / test / . J'ai créé moi-même test / ''. Voici le contenu de la classe créée.

Test.java


package test;

public class Test {
 public static void main(String args[]){
    System.out.println("Hello World!");
  }
}

Le fichier JAR utilise le fichier .class au lieu du fichier .java, vous devez donc le compiler avec la commande javac.

test username$ javac Test.java

Puisque le package est spécifié cette fois, afin d'exécuter ce programme avec la commande java '' et de vérifier le résultat, la commande suivante doit être utilisée dans le répertoire Documents / '' au lieu du répertoire `` test / ''. Tu as besoin de faire.

Documents username$ java test.Test
Hello World!

Vous avez maintenant créé une classe Test '' dans ~ / Documents / test / ``.

3. Créez un fichier JAR

Créez ensuite un fichier JAR avec la commande jar ''. La commande jar`` est décrite en détail dans ce site y compris les options. ..

Créons maintenant un fichier JAR avec la commande `` jar '' suivante.

Documnets username$ jar cvf Test.jar test/

Comme une ventilation des options

・ C: Créer un nouveau fichier JAR ・ V: affiche des informations détaillées sur l'écran ・ F: Spécifiez le nom du fichier JAR

est.

En d'autres termes

Documnets username$ jar cvf [Le nom du fichier JAR nouvellement créé] [Java que vous souhaitez inclure dans votre fichier JAR
Répertoire contenant des programmes]

C'est comme ça. Si vous exécutez la commande suivante après avoir exécuté cette commande, vous devriez voir un résultat comme celui-ci.

Documents username$ jar tvf Test.jar
     0 Wed Jan 31 16:20:16 JST 2018 META-INF/
    88 Wed Jan 31 16:22:12 JST 2018 META-INF/MANIFEST.MF
     0 Wed Jan 31 15:06:50 JST 2018 test/
   419 Wed Jan 31 16:06:06 JST 2018 test/Test.class
   122 Wed Jan 31 15:06:50 JST 2018 test/Test.java

Le fichier JAR est maintenant créé.

4. Ajouter l'attribut manifeste principal au fichier JAR

Exécutons le fichier JAR immédiatement en utilisant la commande java -jar. Puis

Documents username$ java -jar Test.jar
Test.jar n'a pas d'attribut manifeste principal

Vous devriez obtenir un résultat comme celui-ci. Cela se produit parce que la méthode Main, qui est appelée lorsqu'elle est exécutée avec `` java -jar '', ne définit pas la classe de la méthode Main.

Vous devez ajouter l'attribut manifeste principal à MANIFEST.MF '' pour éviter que cela ne se produise. Comme méthode supplémentaire, créez un fichier manifeste appelé .mani`` dans le répertoire où le fichier JAR existe, puis écrivez le contenu suivant dans ce fichier.

Main-Class: test.Test

En détail, décrivez le nom de la classe contenant la méthode Main que vous souhaitez appeler après le package auquel appartient Test.class ''. Cette fois, j'ai écrit package test; '' dans Test.java, donc test est le package auquel appartient Test.class.

Après avoir créé le fichier manifeste de cette manière, exécutez la commande suivante

Documents username$ jar uvfm Test.jar Test.mani

L'attribut manifeste principal est maintenant ajouté dans MANIFEST.MF ''. Si vous vérifiez le contenu de MANIFEST.MF``, ce sera comme suit.

Manifest-Version: 1.0
Created-By: 9.0.4 (Oracle Corporation)
Main-Class: test.Test 

5. Exécutez le fichier JAR

À ce stade, vous devriez être en mesure d'exécuter le fichier JAR avec la commande java -jar.

Documents username$ java -jar Test.jar
Hello World!

Il peut ne pas être possible de s'exécuter sans spécifier le chemin de classe. Dans un tel cas, ajoutez l'instruction suivante à `` ~ / .profile '' (créez-la si elle n'existe pas)

export CLASS_PATH=/Users/username/Documents/Test.jar

Ce qui précède est les bases des fichiers JAR. Je suis encore débutant, alors n'hésitez pas à souligner le texte dans les commentaires!

Recommended Posts

Introduction aux fichiers JAR
Introduction à la commande jar
Introduction à Ruby 2
Introduction à web3j
Introduction à Micronaut 1 ~ Introduction ~
[Java] Introduction à Java
Introduction à la migration
Introduction à Java
Introduction à Doma
Introduction à Ratpack (8) - Session
Introduction à l'arithmétique des bits
Introduction à Ratpack (6) - Promesse
Introduction à Ratpack (9) --Thymeleaf
Introduction à PlayFramework 2.7 ① Présentation
vue d'ensemble du fichier jar
Introduction à la mise en page Android
Introduction aux modèles de conception (introduction)
Introduction à la programmation pratique
Introduction à la commande javadoc
Introduction à Ratpack (2) -Architecture
Introduction au style lambda
Introduction à la commande java
Introduction au développement de Keycloak
Introduction à la commande javac
Une histoire sur l'effort de décompiler les fichiers JAR
Introduction aux modèles de conception (Builder)
Introduction au développement d'applications Android
Introduction à Ratpack (5) --Json & Registry
Introduction à la métabase ~ Construction de l'environnement ~
Introduction à Ratpack (7) --Guice & Spring
(Installation par points) Introduction à Java8_Impression
Introduction aux modèles de conception (composite)
Introduction à Micronaut 2 ~ Test unitaire ~
Introduction à JUnit (note d'étude)
Introduction à Spring Boot ① ~ DI ~
Introduction aux modèles de conception (poids mouche)
[Java] Introduction à l'expression lambda
Introduction à Spring Boot ② ~ AOP ~
Introduction à Apache Beam (2) ~ ParDo ~
Introduction à l'API EHRbase 2-REST
Introduction au prototype de modèles de conception
[Java] Introduction à l'API Stream
Introduction aux modèles de conception (Iterator)
Introduction à Spring Boot, partie 1
Introduction à Ratpack (1) - Qu'est-ce que Ratpack?
Comment restaurer le fichier de migration
Introduction aux modèles de conception (stratégie)
[Introduction aux jeux Janken (comme)] Java
Comment utiliser Maven pour placer des fichiers de ressources en dehors de JAR
Introduction aux fichiers batch (pour les instructions, les tableaux, les variables d'environnement différées)
Introduction à Linux Container / Docker (Partie 1)