从tomcat webapp文件夹生成war文件

我有一个tomcat服务器工作,并在那里我有一个webapp文件夹my_web_app

我没有部署这个项目。 我只有该应用程序的文件夹(如TOMCAT_DIR/webapps/my_web_app )。

我需要的是一个WAR文件。 我怎样才能从这个Web应用程序创build一个.war文件?

您可以从现有的文件夹中创build.war文件。

使用这个命令

 cd /to/your/folder/location jar -cvf my_web_app.war * 

就像创build项目的WAR文件一样,你可以通过几种方式来完成它(从Eclipse,命令行,maven)。

如果你想从命令行执行命令

 jar -cvf my_web_app.war * 

这意味着,“将此目录中的所有内容压缩成一个名为my_web_app.war的文件”(c = create,v = verbose,f = file)

有一种方法可以从eclipse创build项目的war文件。

首先用下面的代码创build一个xml文件,

将HistoryCheckreplace为您的项目名称。

 <?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文件,然后运行 – > ant build

您可以在项目文件夹中看到项目的战争文件。

在不同的目录中创buildwar文件,否则jar命令可能会尝试压缩正在创build的文件。

 #!/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}