Heim  >  Artikel  >  Java  >  So packen Sie ein Java- oder Java-Webprojekt in ein JAR-Paket oder WAR-Paket

So packen Sie ein Java- oder Java-Webprojekt in ein JAR-Paket oder WAR-Paket

WBOY
WBOYnach vorne
2023-05-07 10:25:172009Durchsuche

    1. Warum packen

    Zu diesem Thema gibt es im Internet unterschiedliche Meinungen. Basierend auf persönlichem Verständnis und Online-Meinungen wird es zur Bequemlichkeit anderer als Glaspaket verpackt. Wenn Sie ein Java-Programm ausführen, müssen Sie nicht nach der Klasse suchen, die die auszuführende Hauptmethode enthält. Wenn Sie ein JAR-Paket eines Drittanbieters verwenden, importieren Sie das JAR-Paket direkt in Ihr eigenes Projekt, anstatt eine Reihe davon zu kopieren Klassendateien. Das Erstellen eines Kriegspakets ist die in realen Produktionsumgebungen gewählte Methode zur Bereitstellung von Webanwendungen. Im Internet heißt es, dass diese Methode keinen Dateiverlust wie das direkte Kopieren von Ordnern verursacht und der Server die Anwendung optimiert, z. B. durch das Löschen leerer Ordner usw. Das Obige dient nur zur Information.

    2. So verpacken Sie

    Die lokale Umgebung ist Windows 10, JDK 1.8

    Dasselbe Tool wird zum Erstellen eines JAR- oder WAR-Pakets verwendet: jdk/bin/jar.exe

    1. Erstellen Sie ein JAR-Paket

    |. ----Sie können es überspringen, nur um besser zu verstehen, auf welche Dinge Sie beim Verpacken achten müssen--------- --------|

    Projekteinführung

    Datenbanktabellenstruktur und ihre Tabellenerstellungsanweisungen

    So packen Sie ein Java- oder Java-Webprojekt in ein JAR-Paket oder WAR-Paket

    CREATE TABLE `customer`  (
      `cust_id` int(11) NOT NULL AUTO_INCREMENT,
      `cust_name` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
      `cust_address` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
      `cust_city` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
      `cust_state` char(5) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
      `cust_zip` char(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
      `cust_country` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
      `cust_contact` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
      `cust_email` char(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
      PRIMARY KEY (`cust_id`) USING BTREE
    ) ENGINE = InnoDB AUTO_INCREMENT = 10006 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
    
    INSERT INTO `customer` VALUES (10001, 'Coyote Inc.', '200 Maple Lane', 'Detroit', 'MI', '44444', 'china', 'Y Lee', 'ylee@coyote.com');
    INSERT INTO `customer` VALUES (10002, 'Mouse House', '333 Fromage Lane', 'Columbus', 'OH', '43333', '', 'Jerry Mouse', NULL);
    INSERT INTO `customer` VALUES (10003, 'Wascals', '1 Sunny Place', 'Muncie', 'IN', '42222', 'USA', 'Jim Jones', 'rabbit@wascally.com');
    INSERT INTO `customer` VALUES (10004, 'Yosemite Place', '829 Riverside Drive', 'Phoenix', 'AZ', '88888', 'UK', 'Y Sam', 'sam@yosemite.com');
    INSERT INTO `customer` VALUES (10005, 'gzn or 1=1', '4545 53rd Street', 'Chicago', 'IL', '54545', '', 'E Fudd', NULL);

    Projektstruktur

    So packen Sie ein Java- oder Java-Webprojekt in ein JAR-Paket oder WAR-Paket

    app.java

    package com.gzn.demo;
    
    import java.sql.*;
    import java.util.Scanner;
    
    /**
     * @author: gzn
     * @date: 2019/4/13 10:53
     */
    public class App {
        public static void main(String[] args) {
    
            int count = Integer.valueOf(args[0]);
            System.out.println("请输入要查询用户的条数?(0到5之间):");
            Scanner sc = new Scanner(System.in);
            int count = sc.nextInt();
    
            String driver = "com.mysql.jdbc.Driver";
            String url = "jdbc:mysql://localhost:3306/corejava";
            String username = "root";
            String password = "root";
            String sql = "select cust_id, cust_name, cust_address, cust_city from customer limit 0, ? ";
    
            try {
                Class.forName(driver);
                Connection conn = DriverManager.getConnection(url, username, password);
                PreparedStatement pstat = conn.prepareStatement(sql);
                pstat.setInt(1, count);
                ResultSet rs = pstat.executeQuery();
                while(rs.next()) {
                    System.out.println("cust_id:" + rs.getObject("cust_id").toString());
                    System.out.println("cust_name: " + rs.getObject("cust_name").toString());
                    System.out.println("cust_address: " + rs.getObject("cust_address").toString());
                    System.out.println("cust_city:" + rs.getObject("cust_city").toString());
                    System.out.println("----------------------" +"\n");
                }
    
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    
    }

    |------- --------- ----------------------------------------- --------- --------|

    1.1, verwenden Sie jar, um manuell zu verpacken

    (1) Verwenden Sie cmd, um den Pfad der Projektkompilierungsausgabe zu finden

    So packen Sie ein Java- oder Java-Webprojekt in ein JAR-Paket oder WAR-Paket

    So packen Sie ein Java- oder Java-Webprojekt in ein JAR-Paket oder WAR-Paket

    (2) Führen Sie den Befehl in diesem Verzeichnis ausjar -cvf helloworld.jar .

    -c (erstellen, erstellen) eine Datei beim Erstellen einer Tabelle
    -v (ausführlich, ausführlich, detailliert) Drucken Sie Komprimierungsdetails auf der Konsole
    -f (Dateiname) gibt die komprimierte Datei an Dateiname
    helloworld.jar Der Dateiname kann angepasst werden
    Geben Sie hier unbedingt „.“ an. (Ergänzend, *Sterne sind ebenfalls akzeptabel)

    So packen Sie ein Java- oder Java-Webprojekt in ein JAR-Paket oder WAR-Paket

    Bisher ist die Verpackung erfolgreich, kann aber nicht ausgeführt werden. Wenn es funktionieren soll, müssen Sie die Datei MANIFEST.MF in helloword.jar ändern.

    (3) Verwenden Sie das Dekomprimierungstool, um helloword.jar zu öffnen und META-INF/MANIFEST.MF zu bearbeiten, um Attribute hinzuzufügen Nach dem Doppelpunkt steht ein Leerzeichen.

    Main-Class:

    Die Klasse, die die Hauptmethode enthält Sie. Pfad: Relativer Pfad, das JAR-Paket ist relativ zum Pfad der helloworld.jar-Datei. Absoluter Pfad, der Pfad des JAR-Pakets im Betriebssystem. Häufig verwendete relative Pfade: Legen Sie das abhängige JAR-Paket und Ihr eigenes JAR-Paket ab im Verzeichnis auf derselben Ebene, sodass Class-Path das abhängige JAR-Paket direkt schreibt. Einfach benennen.

    Status nach dem Hinzufügen von Attributen:

    Manifest-Version: 1.0
    Created-By: 1.8.0_161 (Oracle Corporation)
    (4) Führen Sie den Test aus
    Kopieren Sie die Abhängigkeiten in dasselbe Verzeichnis wie helloworld.jar und verwenden Sie java -jar helloworld.jar, um das Programm auszuführen.


    Wenn das JAR-Paket nur für die Verwendung durch andere Entwickler bestimmt ist und nicht ausgeführt werden muss, fahren Sie mit Schritt (2) fort. 1. 2. Verwenden Sie IDEA zum Verpacken das abhängige jar Konfigurieren Sie den absoluten Pfad.


    In das Ausgabeverzeichnis kopieren und per Manifest verknüpfen

    : Kopieren Sie die abhängige JAR-Datei in das Ausgabeverzeichnis, das sich auf derselben Ebene befindet wie die von Ihrem Projekt gepackte JAR-Datei. Auf diese Weise kann IDEA den relativen Pfad für das Class-Path-Attribut in MENIFEST.MF direkt konfigurieren.

    So packen Sie ein Java- oder Java-Webprojekt in ein JAR-Paket oder WAR-Paket

    So packen Sie ein Java- oder Java-Webprojekt in ein JAR-Paket oder WAR-PaketAusgabeverzeichnis: Verpackter Ausgabepfad.

    Führen Sie den Test durch:

    首先进入jar包输入路径C:\Users\gzn\Desktop\helloworld\out\artifacts\HelloWorld_jar;
    运行 java -jar helloworld.jar;

    So packen Sie ein Java- oder Java-Webprojekt in ein JAR-Paket oder WAR-Paket

    2、打成war包

    comment是我的一个已将编译好的web项目,使用cmd进入comment目录下执行命令

    jar -cvf comment.war .

    So packen Sie ein Java- oder Java-Webprojekt in ein JAR-Paket oder WAR-Paket
    注意在项目目录下执行命令, “.” 表示对项目目录下的所有文件进行打包,将打包好的项目复制到Tomcat/webapps目录下,启动Tomcat服务器,就可以进行测试了。

    Das obige ist der detaillierte Inhalt vonSo packen Sie ein Java- oder Java-Webprojekt in ein JAR-Paket oder WAR-Paket. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen