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>

即可成功

相关推荐
StockTV19 小时前
韩国市场API技术对接指南,涵盖实时行情、历史数据、指数信息、公司详情等功能
java·开发语言·python·php
penngo19 小时前
用 Claude Code 开发多人猜拳游戏:Go 语言实践
开发语言·游戏·golang
xiaoshuaishuai819 小时前
C# 实现不掉线的CRM
开发语言·c#
YuanDaima204819 小时前
大语言模型生命周期全链路解析:从架构基石到高效推理
开发语言·人工智能·python·语言模型·架构·transformer
缪懿20 小时前
javaEE:文件IO
java·java-ee
小Y._20 小时前
ConcurrentHashMap高效并发机制深度解析
java·并发·juc·concurrenthashmap
tang_jian_dong20 小时前
springboot + vue3 集成tianai.captcha验证码
java·spring boot·spring
bike兔兔20 小时前
Python实现CSV文件转Excel,一键格式转换办公小脚本
开发语言·windows·python
Traving Yu20 小时前
JVM 底层与调优
java·jvm
XMYX-020 小时前
goroutine 为什么没有返回值?(Go 并发核心设计思想)
开发语言·golang