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
).
.war
a partir deste webapp?
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 *
É 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)
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.
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}