当前位置: 首页 > news >正文

Maven插件学习(一)——生成可执行的 JAR 文件

默认打包生成的jar是不能够直接运行的,因为带有main方法的类信息不回添加到manifest中(打开jar文件中 META/MANIFEST.MF文件,将无法看到Main-Class行)

maven-shade-plugin插件生成可运行的jar文件,该插件会自动将依赖包生成到jar包中。

maven-assembly-plugin插件生成可运行的jar文件,需要配置属性 jar-with-dependencies才能将依赖包生成到jar包中

maven-shade-plugin插件

配置pom文件如下

<?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.ch.tech</groupId>
    <artifactId>maven-jar</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.shade.plugin.version>3.6.0</maven.shade.plugin.version>
    </properties>

    <dependencies>
        <!-- SLF4J API -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>2.0.6</version>
        </dependency>

        <!-- Log4j2 实现 -->
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-slf4j2-impl</artifactId>
            <version>2.20.0</version>
        </dependency>

        <!-- Log4j2 核心 -->
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.20.0</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>${maven.shade.plugin.version}</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configura

相关文章:

  • Redis集群哨兵相关面试题
  • SSM驾校预约管理系统
  • 【开题报告+论文+源码】基于SpringBoot的智能安全与急救知识科普系统设计与实现
  • 字节跳动前端开发实习生面试总结
  • Pytorch学习笔记(一)Learn the Basics - Quickstart
  • 辉视智慧会所:一键“唤”醒高端服务,乐享智慧生活新“声”级!
  • 动态规划 力扣hot100热门面试算法题 面试基础 核心思路 背题
  • 2024Android高频精选面试题讲解,程序人生
  • 协作机械臂需要加安全墙吗? 安全墙 光栅 干涉区
  • docker安装hyperf环境,连接本机redis问题处理
  • 9.4分漏洞!Next.js Middleware鉴权绕过漏洞安全风险通告
  • 多Agent系统,其中用户可以 自由选择不同Agent
  • redis与数据库双写一致性解决方案
  • pyqt SQL Server 数据库查询-优化
  • Vite管理的Vue3项目中monaco editer的使用以及组件封装
  • [Vue]事件修饰符
  • 7-2 sdut-C语言实验-逆序建立链表
  • HarmonyOS人脸比对技术自学指南与实战分享
  • MATLAB代码丨信号处理:对Python中Librosa库部分函数的重现
  • 命令执行GetShell
  • 网站建设 织梦者/广东河源最新疫情
  • 贵阳网站建设多少钱/seo优化知识
  • 苏州网站建设哪家效果好/seo优化软件
  • 南通动态网站建设/软文范例
  • 陕西交通建设集团信息网站/如何优化网络环境
  • 加强网站建设的措施/关键词统计工具有哪些