老师 我打包 下面报这个错误

老师 我打包 下面报这个错误

Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war (default-war) on project web_Servlet: Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode)

https://img1.sycdn.imooc.com//climg/63565e4f09869ee314960892.jpg

该怎么处理呀?下面是我的配置代码

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.imooc</groupId>
    <artifactId>web_Servlet</artifactId>
    <version>1.0.0-RELEASE</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>


    <!--阿里云Maven镜像-->
    <repositories>
        <repository>
            <id>aliyun</id>
            <name>aliyun</name>
            <url>https://maven.aliyun.com/repository/public</url>
        </repository>
    </repositories>
    <!--    下载插件仓库-->
    <pluginRepositories>
        <pluginRepository>
            <id>aliyun</id>
            <name>aliyun</name>
            <url>https://maven.aliyun.com/repository/public</url>
        </pluginRepository>
    </pluginRepositories>
    <!--表示打包文件的后缀用什么-->
    <packaging>war</packaging>
    <dependencies>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <!--表示不打包依赖组件-->
            <scope>provided</scope>
        </dependency>
    </dependencies>
    <!--设置最后打包的名字 不用默认名字-->
    <build>
        <finalName>war-servlet</finalName>
    </build>


</project>


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小尤 2022-10-24 18:30:11

同学你好,1、同学缺少对应的依赖,则建议同学在pom.xnl文件中进行添加。如下所示:然后刷新maven进行下载,重新打包试一下。

<packaging>war</packaging>
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>3.2.0</version>
        </plugin>
    </plugins>
</build>

2、如果还存在问题,则根据异常信息,猜测可能是因web项目下缺少WEB-INF/web.xml导致的。建议同学查看在out目录下是否缺少web.xml文件。如下所示:

https://img1.sycdn.imooc.com//climg/635662a20901ffc703590187.jpg

如果没有,则可能是没有配置web模块导致的,建议同学进行配置。如下所示:然后删除out目录,重构项目试一下。

https://img1.sycdn.imooc.com//climg/635662ec09a5efc804340714.jpg

https://img1.sycdn.imooc.com//climg/6356631f09135b2f10400853.jpg

3、也可以尝试在pom.xml文件添加下方参数。

<properties>
        <failOnMissingWebXml>false</failOnMissingWebXml>
    </properties>

祝学习愉快!

  • 提问者 星辰很精彩 #1
    为什么视频里面的老师 没有添加上面的代码啊?

    我加入这个 还是报错 下面显示没找到 我试了3.2.2的版本也不行真的好奇怪

    https://img1.sycdn.imooc.com//climg/63566f9009df647c17230923.jpg

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>com.imooc</groupId>
        <artifactId>web_Servlet</artifactId>
        <version>1.0.0-RELEASE</version>
    
        <properties>
            <maven.compiler.source>8</maven.compiler.source>
            <maven.compiler.target>8</maven.compiler.target>
        </properties>
    
    
        <!--阿里云Maven镜像-->
        <repositories>
            <repository>
                <id>aliyun</id>
                <name>aliyun</name>
                <url>https://maven.aliyun.com/repository/public</url>
            </repository>
        </repositories>
        <!--    下载插件仓库-->
        <pluginRepositories>
            <pluginRepository>
                <id>aliyun</id>
                <name>aliyun</name>
                <url>https://maven.aliyun.com/repository/public</url>
            </pluginRepository>
        </pluginRepositories>
        <!--表示打包文件的后缀用什么-->
        <dependencies>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>3.1.0</version>
                <!--表示不打包依赖组件-->
                <scope>provided</scope>
            </dependency>
        </dependencies>
        <packaging>war</packaging>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>3.2.0</version>
                </plugin>
            </plugins>
        </build>
        <!--&lt;!&ndash;设置最后打包的名字 不用默认名字&ndash;&gt;-->
        <!--<build>-->
        <!--    <finalName>war-servlet</finalName>-->
        <!--</build>-->
    </project>


    2022-10-24 19:01:06
  • 提问者 星辰很精彩 #2

    老师 我能打包了 谢谢老师

    2022-10-24 19:35:24
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师