Fait une note. L'environnement dans lequel l'exemple a été créé est Windows 10.
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!
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