JAVA程序如何打jar和war问题解决

背景:

近期研究一个代码审计工具 需要jar包 jar太多了 可以将jar 打成war包

首先看下程序目录结构

pom.xml文件内容

复制代码
<?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>java</groupId>
    <artifactId>faker</artifactId>
    <version>1.0-SNAPSHOT</version>
    <dependencies>
        <dependency>
            <groupId>com.github.javafaker</groupId>
            <artifactId>javafaker</artifactId>
            <version>1.0.2</version>
        </dependency>
    </dependencies>
</project>

找到maven -project

点击lifecycle-clean

点击install

如何打印war包

将pom.xml文件添加如下内容

复制代码
<?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.example</groupId>
    <artifactId>user-app</artifactId>
    <version>1.0.0</version>
    <packaging>war</packaging> <!-- 设置项目打包类型为 WAR -->

    <!-- 依赖项 -->
    <dependencies>
        <dependency>
            <groupId>com.github.javafaker</groupId>
            <artifactId>javafaker</artifactId>
            <version>1.0.2</version>
        </dependency>
        <!-- 其他依赖项 -->
    </dependencies>

    <!-- 构建配置02981122655 -->
    <build>
        <plugins>
            <!-- Maven WAR 插件 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.3.1</version>
                <configuration>

                        <!-- 允许缺少 web.xml -->
                        <failOnMissingWebXml>false</failOnMissingWebXml>
                        <!-- 其他配置 -->

                    <!-- 指定 webapp 目录 -->
                    <warSourceDirectory>src/main/webapp</warSourceDirectory>
                    <!-- 如果需要自定义 WAR 文件名,可以设置 warName -->
                    <!-- <warName>custom-war-name</warName> -->
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

终端执行

mvn clean package

问题: 找不到pom.xml

在pom.xml添加

<failOnMissingWebXml>false</failOnMissingWebXml>

即可成功

相关推荐
原来是猿20 分钟前
深入理解 C++ unordered_map 与 unordered_set
开发语言·c++
满天星830357721 分钟前
【Qt】信号和槽 (一)(概述和基本使用)
开发语言·c++·qt
l1t30 分钟前
DeepSeek总结的 waddler,一个 Go 语言编写的从 YAML 文件运行的 ETL 管道
开发语言·golang·etl
小江的记录本38 分钟前
【Spring全家桶】Spring Cloud 2023.0.x:微服务核心理论、CAP/BASE定理(附《思维导图》+《面试高频考点清单》)
java·spring boot·后端·spring·spring cloud·微服务·面试
Solis程序员41 分钟前
缓存三剑客预防策略
java·spring·缓存
FlyWIHTSKY1 小时前
React 19 + Next.js 16(App Router)项目中集成 MSW
开发语言·javascript·vue.js
Mr.Daozhi1 小时前
跨境电商选品完整流水线:Google Trends筛词+Meta广告分析,CLI工具设计实战
开发语言·爬虫·python·跨境电商·工具链·选品
多彩电脑1 小时前
Swift里字符串的索引
开发语言·swift
SoftLipaRZC1 小时前
C语言预处理详解:从宏定义到条件编译
c语言·开发语言