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>

即可成功

相关推荐
wuminyu3 小时前
JVM规范学习总结:解释器与JIT编译器如何处理JVM字节码
java·linux·c语言·jvm·c++
txxzjmzlh3 小时前
SpringBoot 配置⽂件
java·spring boot·spring
小徐不徐说3 小时前
序列化与反序列化:把 C++ 对象可靠地保存下来
开发语言·数据库·c++·php
ragnwang4 小时前
Notes: Python pybind11 import C++ module
开发语言·c++·python
Wang's Blog4 小时前
Java 项目实战: 交友项目 - 搜索附近的功能概述和分析
java·开发语言·交友
骑着蜗牛撵大象3274 小时前
大模型 Agent 的沙箱护栏:gVisor 隔离、出口白名单与审计闭环
java·开发语言·jvm·安全·agent沙箱·gvisor·microvm
独泪了无痕4 小时前
Hutool之LocalDateTimeUtil:让时间间隔操作如虎添翼
java
Dxy12393102165 小时前
JS DES 加密详解
开发语言·javascript·arcgis
充值内卷5 小时前
我给桌面加了个鱼缸:C++ 写后端,WebView2 里养一座 Three.js 小岛
开发语言·javascript·c++
云和数据.ChenGuang5 小时前
深入解析 Python 的 dir():从用法到 CPython 源码实现
开发语言·人工智能·python·langchain