我有一個tomcat服務器工作,並且在那裏我有一個webapp文件夾my_web_app
。從tomcat webapp文件夾生成war文件
我沒有部署該項目;我只有那個應用程序的文件夾(如TOMCAT_DIR/webapps/my_web_app
)。
我需要的是一個WAR文件。我如何從這個webapp創建一個.war
文件?
我有一個tomcat服務器工作,並且在那裏我有一個webapp文件夾my_web_app
。從tomcat webapp文件夾生成war文件
我沒有部署該項目;我只有那個應用程序的文件夾(如TOMCAT_DIR/webapps/my_web_app
)。
我需要的是一個WAR文件。我如何從這個webapp創建一個.war
文件?
您可以從現有文件夾中創建.war文件。
使用此命令
cd /to/your/folder/location
jar -cvf my_web_app.war *
它就像建立一個WAR
文件你的項目,你能做到在幾個方面(從Eclipse中,命令行,行家)。
如果你想從命令行執行的命令是
jar -cvf my_web_app.war *
這意味着,「壓縮此目錄中的一切到一個名爲my_web_app.war文件」 (C =創建,V =冗長, f = file)
一個喜歡解釋3個標誌的人(我在其他地方沒有看到這個) – 2017-07-06 11:57:08
有一種方法可以從eclipse創建項目的war文件。
首先創建一個用下面的代碼的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>
,在Project Explorer中右鍵點擊該XML文件和運行AS-> Ant構建
你可以看到你的項目的WAR文件在項目文件夾。
得到這個錯誤...目標buildwar在項目「
在不同的目錄中創建war文件,然後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}
那麼項目使用的庫在Tomcar的lib文件夾中呢?他們是否需要放入戰爭檔案中?這個war文件會在另一個像JBoss的servlet容器中工作嗎? – 2015-07-21 16:15:31
@ketan該命令是否需要任何輸入文件或清單,因爲我在執行步驟時遇到錯誤(表示該命令需要輸入或清單文件)?你可以幫幫我嗎?也FYI,我瀏覽了我得到的錯誤,但它(http://stackoverflow.com/questions/23422470/getting-error-while-creating-war-file)似乎沒有幫助。 – 2016-03-12 12:40:32
我用這個來從webpack的結果創建一個war文件,而tomcat喜歡它。 – jkerak 2016-09-19 20:45:29