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>

即可成功

相关推荐
桦说编程2 小时前
从 ForkJoinPool 的 Compensate 看并发框架的线程补偿思想
java·后端·源码阅读
躺平大鹅4 小时前
Java面向对象入门(类与对象,新手秒懂)
java
初次攀爬者5 小时前
RocketMQ在Spring Boot上的基础使用
java·spring boot·rocketmq
花花无缺5 小时前
搞懂@Autowired 与@Resuorce
java·spring boot·后端
Derek_Smart6 小时前
从一次 OOM 事故说起:打造生产级的 JVM 健康检查组件
java·jvm·spring boot
NE_STOP7 小时前
MyBatis-mybatis入门与增删改查
java
孟陬10 小时前
国外技术周刊 #1:Paul Graham 重新分享最受欢迎的文章《创作者的品味》、本周被划线最多 YouTube《如何在 19 分钟内学会 AI》、为何我不
java·前端·后端
想用offer打牌10 小时前
一站式了解四种限流算法
java·后端·go
华仔啊11 小时前
Java 开发千万别给布尔变量加 is 前缀!很容易背锅
java