У меня есть сервер tomcat, и там у меня есть папка webapp my_web_app
.
Я не развертывал проект; У меня есть только эта папка этого приложения (как TOMCAT_DIR/webapps/my_web_app
).
Мне нужен файл WAR. Как я могу создать файл .war
из этого webapp?
У меня есть сервер tomcat, и там у меня есть папка webapp my_web_app
.
Я не развертывал проект; У меня есть только эта папка этого приложения (как TOMCAT_DIR/webapps/my_web_app
).
Мне нужен файл WAR. Как я могу создать файл .war
из этого webapp?
Вы можете создать .war файл из существующей папки.
С помощью этой команды
cd /to/your/folder/location
jar -cvf my_web_app.war *
Его так же, как создание файла WAR
вашего проекта, вы можете сделать это несколькими способами (из Eclipse, командной строки, maven).
Если вы хотите сделать из командной строки, команда
jar -cvf my_web_app.war *
Это означает, что "сжимайте все в этом каталоге в файл с именем my_web_app.war" (c = create, v = verbose, f = файл)
Существует способ создания военного файла вашего проекта из eclipse.
Сначала создайте xml файл со следующим кодом,
Замените HistoryCheck на ваше имя проекта.
<?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>
Теперь в Проводнике проекта щелкните правой кнопкой мыши на этом файле xml и Запустить as- > ant build
Вы можете увидеть военный файл вашего проекта в папке проекта.
Создайте военный файл в другом каталоге, где содержимое в противном случае команда jar может попытаться закрепить файл, который он создает.
#!/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}