it-swarm.com.de

Generieren Sie eine Kriegsdatei aus dem Tomcat-Webapp-Ordner

Ich habe einen Tomcat-Server und dort habe ich einen Webapp-Ordner my_web_app.

Ich habe das Projekt nicht bereitgestellt. Ich habe nur den Ordner dieser Anwendung (als Tomcat_DIR/webapps/my_web_app).

Was ich brauche, ist eine WAR-Datei. Wie erstelle ich ein .war Datei von dieser Webapp?

51
eLRuLL

Sie können eine WAR-Datei aus Ihrem vorhandenen Ordner erstellen.

Mit diesem Befehl

cd /to/your/folder/location
jar -cvf my_web_app.war *
125
Ketan

Es ist so, als ob Sie eine WAR -Datei Ihres Projekts erstellen, Sie können dies auf verschiedene Arten tun (über Eclipse, Befehlszeile, Maven).

Wenn Sie über die Befehlszeile ausführen möchten, lautet der Befehl

jar -cvf my_web_app.war * 

Was bedeutet, "alles in diesem Verzeichnis in eine Datei mit dem Namen my_web_app.war komprimieren" (c = erstellen, v = ausführlich, f = Datei)

23
Charu Khurana

Es gibt eine Möglichkeit, in Eclipse eine War-Datei Ihres Projekts zu erstellen.

Erstellen Sie zunächst eine XML-Datei mit dem folgenden Code:

Ersetzen Sie HistoryCheck durch Ihren Projektnamen.

<?xml version="1.0" encoding="UTF-8"?>
<project name="HistoryCheck" basedir="." default="default">
    <target name="default" depends="buildwar,deploy"></target>
    <target name="buildwar">
        <war basedir="war" destfile="HistoryCheck.war" webxml="war/WEB-INF/web.xml">
            <exclude name="WEB-INF/**" />
            <webinf dir="war/WEB-INF/">
                <include name="**/*.jar" />
            </webinf>
        </war>
    </target>
    <target name="deploy">
        <copy file="HistoryCheck.war" todir="." />
    </target>
</project>

Klicken Sie im Projektexplorer mit der rechten Maustaste auf diese xml -Datei und Ausführen als-> Ameisenerstellung

Sie können die Kriegsdatei Ihres Projekts in Ihrem Projektordner sehen.

4
nmkyuppie

Erstellen Sie die War-Datei in einem anderen Verzeichnis als dem, in dem sich der Inhalt befindet. Andernfalls versucht der Befehl jar möglicherweise, die zu erstellende Datei zu komprimieren.

#!/bin/bash

set -euo pipefail

war=app.war
src=contents

# Clean last war build
if [ -e ${war} ]; then
    echo "Removing old war ${war}"
    rm -rf ${war}
fi

# Build war
if [ -d ${src} ]; then
    echo "Found source at ${src}"
    cd ${src}
    jar -cvf ../${war} *
    cd ..
fi

# Show war details
ls -la ${war}
1
Gary Davies