Gerar o ficheiro war a partir da pasta webapp do tomcat

tenho um servidor tomcat a funcionar, e lá tenho uma pasta de webapp {[[0]}.

Eu não implantei o projeto; eu só tenho essa pasta da aplicação (como TOMCAT_DIR/webapps/my_web_app).

O que preciso é de um ficheiro de guerra. Como posso criar um arquivo .war a partir deste webapp?

 47
Author: Jaywalker, 2013-05-02

4 answers

Podes criar .ficheiro de guerra da sua pasta existente.

Usando este comando

cd /to/your/folder/location
jar -cvf my_web_app.war *
 114
Author: Ketan, 2016-08-10 14:50:37

É como criar um ficheiro WAR do seu projecto, pode fazê-lo de várias formas (do Eclipse, linha de comandos, maven).

Se quiser fazer a partir da linha de comandos, o comando é

jar -cvf my_web_app.war * 

O que significa, "comprimir tudo nesta pasta num ficheiro chamado my_ web_app.guerra" (c=create, v=verbose, f=file)

 22
Author: Charu Khurana, 2013-05-02 15:51:24
Há uma forma de criar um ficheiro de guerra do seu projecto a partir do eclipse.

Primeiro cria um ficheiro xml com o seguinte código,

Substitua o HistoryCheck pelo nome do seu projecto.

<?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>

Agora, no project explorer, carregue com o botão direito no ficheiroxml e execute as - > compilação do ant

Pode ver o ficheiro de guerra do seu projecto na pasta do seu projecto.

 4
Author: nmkyuppie, 2013-08-09 08:33:31

Crie o ficheiro war num directório diferente para onde o conteúdo está, CaSO contrário, o comando jar poderá tentar fechar o ficheiro que está a criar.

#!/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
Author: Gary Davies, 2016-08-03 02:11:07