簡體   English   中英

從tomcat webapp文件夾生成war文件

[英]Generate war file from tomcat webapp folder

我有一個tomcat服務器工作,我有一個webapp文件夾my_web_app

我沒有部署項目; 我只有該應用程序的那個文件夾(如TOMCAT_DIR/webapps/my_web_app )。

我需要的是一個WAR文件。 如何從此webapp創建.war文件?

您可以從現有文件夾中創建.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 = file)

有一種方法可以從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>

現在,在項目瀏覽器中右鍵單擊該xml文件並運行as-> ant build

您可以在項目文件夾中查看項目的war文件。

在不同的目錄中創建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}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM