Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从tomcat webapp文件夹生成war文件_Java_Tomcat - Fatal编程技术网

Java 从tomcat webapp文件夹生成war文件

Java 从tomcat webapp文件夹生成war文件,java,tomcat,Java,Tomcat,我有一个tomcat服务器在工作,在那里我有一个webapp文件夹我的webapp 我没有部署项目;我只有该应用程序的文件夹(如TOMCAT\u DIR/webapps/my\u web\u app) 我需要的是一份战争档案。如何从此Web应用程序创建.war文件?您可以从现有文件夹重新创建.war文件 使用此命令 cd /to/your/folder/location jar -cvf my_web_app.war * 这就像为您的项目创建一个WAR文件一样,您可以通过多种方式(从Eclip

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

我没有部署项目;我只有该应用程序的文件夹(如
TOMCAT\u DIR/webapps/my\u web\u app


我需要的是一份战争档案。如何从此Web应用程序创建
.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


现在,在ProjectExplorer中右键单击该xml文件,然后以运行方式->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}

正在获取此错误。。。项目中不存在目标buildwar“。它是从目标默认值使用的。那么项目使用的Tomcar的lib文件夹中的库呢?是否需要将它们放入war文件中?war文件在另一个servlet容器(如JBoss)中工作吗?@ketan该命令是否需要任何输入文件或清单,因为我在执行您的步骤时出错(说该命令需要输入或清单文件)?你能帮我吗?仅供参考,我浏览了我得到的错误,但它()似乎没有帮助。我用它从webpack的结果创建了一个war文件,tomcat喜欢它。其中一个喜欢解释3个标志(我在其他任何地方都没有看到)
#!/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}