[JAVA] Comment créer un fichier jar et un fichier war à l'aide de la commande jar

Comment créer un fichier jar et un fichier war avec la commande jar

Fait une note. L'environnement dans lequel l'exemple a été créé est Windows 10.

Comment créer un fichier jar

L'exemple de fichier source est le suivant.

App.java


package sample;
public class App {
	public static void main(String[] arg) {
		System.out.println("Hello World!");
	}
}

La structure des répertoires est la suivante. Le fichier .class sera placé dans le dossier classes après la compilation. Le fichier manifeste à importer dans le fichier jar est placé sous META-INF.

C:\exemple de création de fichier jar>tree /F
Liste des chemins de dossier:OS de volume
Le numéro de série du volume est XXXX-XXXX
C:.
├─classes
├─META-INF
│      MANIFEST.MF
│
└─src
    └─sample
            App.java

Dans le fichier manifeste, la classe Java dans laquelle la méthode principale est exécutée lorsque le fichier jar est exécuté est spécifiée.

MANIFEST.MF


Main-Class: sample.App

Maintenant, compilons avant de créer le fichier jar. Compilez avec la commande javac. Spécifiez le dossier où se trouve le fichier source avec -sourcepath. Utilisez -d pour spécifier le dossier dans lequel les fichiers compilés seront placés.

javac -sourcepath src -d classes src\sample\App.java

La compilation créera un fichier .class dans le dossier classes.

C:\exemple de création de fichier jar>tree /F
Liste des chemins de dossier:OS de volume
Le numéro de série du volume est XXXX-XXXX
C:.
├─classes
│  └─sample
│          App.class
│
├─META-INF
│      MANIFEST.MF
│
└─src
    └─sample
            App.java

Utilisez ensuite la commande jar pour créer un fichier jar. Le fichier manifeste à importer dans le fichier jar est spécifié par m. Les subordonnés du dossier spécifié par -C sont compressés et importés dans le fichier jar.

jar cvfm sample.jar META-INF\MANIFEST.MF -C classes .

La structure du fichier jar créé est la suivante.

C:\exemple de création de fichier jar>jar tf sample.jar
META-INF/
META-INF/MANIFEST.MF
sample/
sample/App.class

Le résultat de l'exécution est le suivant.

C:\exemple de création de fichier jar>java -jar sample.jar
Hello World!

Comment créer un fichier war

L'exemple de fichier source est le suivant.

SampleServlet.java


package sample;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/sample")
public class SampleServlet extends HttpServlet {
	
	@Override
	public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		resp.setContentType("text/html");
		resp.setCharacterEncoding("UTF-8");
		ServletOutputStream out = resp.getOutputStream();
		out.println("Hello World!");
		out.flush();
	}
}

La structure des répertoires est la suivante. Le fichier .class sera placé dans le dossier WebContent \ WEB-INF \ classes après compilation. Sous lib, les bibliothèques requises pour compiler les fichiers source ci-dessus sont placées.

C:\exemple de création de fichier war>tree /F
Liste des chemins de dossier:OS de volume
Le numéro de série du volume est XXXX-XXXX
C:.
├─lib
│      javax.servlet-api-3.1.0.jar
│
├─src
│  └─sample
│          SampleServlet.java
│
└─WebContent
    └─WEB-INF
        └─classes

Maintenant, compilons avant de créer la guerre. Compilez avec la commande javac. Spécifiez le dossier où se trouve le fichier source avec -sourcepath. La bibliothèque est spécifiée par -classpath. Tous les fichiers sous le dossier lib peuvent être spécifiés en utilisant *. Utilisez -d pour spécifier le dossier dans lequel les fichiers compilés seront placés.

javac -sourcepath src -classpath lib\* -d WebContent\WEB-INF\classes src\sample\SampleServlet.java

La compilation créera un fichier .class dans le dossier WebContent \ WEB-INF \ classes.

C:\exemple de création de fichier war>tree /F
Liste des chemins de dossier:OS de volume
Le numéro de série du volume est XXXX-XXXX
C:.
├─lib
│      javax.servlet-api-3.1.0.jar
│
├─src
│  └─sample
│          SampleServlet.java
│
└─WebContent
    └─WEB-INF
        └─classes
            └─sample
                    SampleServlet.class

Utilisez ensuite la commande jar pour créer un fichier war. Les subordonnés du dossier spécifié par -C sont compressés et importés dans le fichier war.

jar cvf sample.war -C WebContent .

La structure du fichier war créé est la suivante.

C:\exemple de création de fichier war>jar tf sample.war
META-INF/
META-INF/MANIFEST.MF
WEB-INF/
WEB-INF/classes/
WEB-INF/classes/sample/
WEB-INF/classes/sample/SampleServlet.class

Si vous déployez le fichier war créé sur Tomcat etc. et y accédez à partir d'un navigateur, «Hello World!» Sera affiché.

Recommended Posts

Comment créer un fichier jar et un fichier war à l'aide de la commande jar
Créez un fichier jar avec la commande
[chown] Comment changer le propriétaire d'un fichier ou d'un répertoire
[Rails] Comment créer un graphique à l'aide de lazy_high_charts
Comment supprimer un contrôleur, etc. à l'aide d'une commande
Comment exécuter un fichier GIF à partir de la ligne de commande Linux (Ubuntu)
[Java] Créez un fichier jar compressé et non compressé avec la commande jar
Exécutable serveur avec Spring gradle Comment créer JAR et WAR
Créez un fichier Jar avec deux lignes de commande
Comment convertir A en A et A en A en utilisant le produit logique et la somme en Java
Comment créer un formulaire Excel à l'aide d'un fichier modèle avec Spring MVC
Comment déboguer le fichier jar généré avec Eclipse
Comment créer une méthode
Comment créer un formulaire pour sélectionner une date dans le calendrier
Comment créer une partie d'espace réservé à utiliser dans la clause IN
Comment modifier le contenu du fichier jar sans décompresser
Comment créer un fichier jar sans dépendances dans Maven
[Rails 6] Comment créer un écran de saisie de formulaire dynamique à l'aide de cocoon
Créez un fichier statique qui développe les variables à l'aide de la classe ERB
Comment créer un nouveau projet Gradle + Java + Jar dans Intellij 2016.03
Un moyen simple de créer une classe de mappage lors de l'utilisation de l'API
Comment exécuter l'exemple Kotlin Coroutine à partir de la ligne de commande
Ajouter un horodatage au nom de fichier JAR dans Gradle
Comment exécuter un contrat avec web3j
Comment trier une liste à l'aide du comparateur
[Java] Comment utiliser la classe File
Créez un grand nombre d'enregistrements avec une seule commande à l'aide du fichier seeds.rb Ruby on Rails
Comment ajouter un fichier jar dans ScalaIDE
Comment créer un référentiel Maven pour 2020
[Swift5] Comment créer un écran de démarrage
[rails] Comment créer un modèle partiel
Comment placer geckodriver (WebDriver de Selenium) sur le chemin à l'aide de la commande Maven
Comment renvoyer une valeur du modèle au contrôleur en utilisant le protocole [Swift5]
Comment créer une requête à l'aide de variables dans GraphQL [Utilisation de Ruby on Rails]
Comment savoir quelle version Java d'un fichier de classe a été compilée
[Java] Comment accéder au début d'une chaîne spécifique à l'aide de la classe String
[Rails] Comment créer une table, ajouter une colonne et changer le type de colonne
Comment télécharger et exécuter le package Jar directement à partir du référentiel Maven avec juste la ligne de commande
Comment créer une base de données H2 n'importe où
Écrire dans un fichier en utilisant ShiftJIS ・ Lire un fichier (Kotlin / JVM)
[Ethereum] Comment exécuter un contrat en utilisant web3j-Part 2-
Comment créer des pages pour le tableau "kaminari"
Comment mettre en œuvre la fonction de chapelure avec Gretel
Comment créer une classe qui hérite des informations de classe
Comment créer un thème dans Liferay 7 / DXP
Pour déployer manuellement Struts2 en tant que fichier war
[1st] Comment créer un projet de framework Spring-MVC
Comment créer facilement un pull-down avec des rails
Comment générer une clé primaire à l'aide de @GeneratedValue
Double-cliquez pour ouvrir le fichier jar sous Windows
[Rails] Comment créer un bouton de partage Twitter
Comment créer des données de catégorie hiérarchique à l'aide de l'ascendance
[Spring Boot] Comment se référer au fichier de propriétés
Comment créer une route directement à partir de l'URL que vous souhaitez spécifier + α
[Note] Java: créez un projet simple tout en apprenant comment fonctionne le fichier de paramètres.