maven打包,依赖也打进jar包

2023-11-02

一、如果没有依赖第三方包,可以用maven-jar-plugin插件,只是修改META-INFO下的MANIFEST.MF信息,指定运行jar包的main入口

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                    <archive>
                        <manifest>
                            <useUniqueVersions>false</useUniqueVersions>
                            <addClasspath>true</addClasspath>
                            <classpathPrefix>lib/</classpathPrefix>
                            <mainClass>com.wyz.Main</mainClass>
                        </manifest>
                    </archive>
                </configuration>
</plugin>

二、可以把第三方包下载到lib目录

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <!-- 拷贝项目依赖包到lib/目录下 -->
                            <outputDirectory>${project.build.directory}/lib</outputDirectory>
                            <!-- 间接依赖也拷贝 -->
                            <excludeTransitive>false</excludeTransitive>
                            <!-- 带上版本号 -->
                            <stripVersion>false</stripVersion>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

三、把依赖也打进jar包:mainClass是jar包的main方法入口

<build>
        <plugins>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>com.wyz.Main</mainClass>
                        </manifest>
                    </archive>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
            </plugin>
        </plugins>
    </build>

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

maven打包,依赖也打进jar包 的相关文章

  • 将 Spring 的 @Scheduled 注解与特定执行器一起使用

    如何告诉我的 Spring 计划方法使用特定的执行器运行 例如 这是我的 spring 调度程序方法之一 Scheduled fixedRate 1000 public void scheduleJobs doThese 这是我的 Java
  • 什么 RoundingMode 常量 100% 与 Math.round 一样工作?

    我的意思是有没有舍入模式 https docs oracle com javase 8 docs api java math RoundingMode html常数准确地描述了什么Math round arg 做 据我所知 Math rou
  • Java 更改包名称大小写约定的原因

    就在你说这是重复的之前 我已经看到了其他问题 但我仍然想发布这个 所以我在读用 Java 思考 Bruce Eckel这段话是关于小写命名约定的 Java 1 0 和 Java 1 1 中的域扩展com edu org net等 按照惯例都
  • 如何在 Java 中从任意基数转换为基数 10

    我是 Java 新手 我想编写一个程序 仅使用算术运算将基数 2 3 4 5 6 7 8 9 16 转换为基数 10 我已经完成了从键盘读取字符串 如果数字是十六进制 并将其转换为整数 之后我做了一个 while 循环 将数字分割为数字并将
  • 在手机上单步执行 Android 代码 - 大行号差异

    我正在尝试调试与 Samsung Captivate Galaxy S 上的 ListView 相关的一些代码 我在代码中的某个位置放置了断点 当它停止时 我会在堆栈上返回几帧到 ListView 源 现在 我可以预期会出现一些不匹配的情况
  • 负字符值JAVA

    为什么会出现以下情况 char p 0 p System out println p result 65535 为什么不给出编译错误或运行时异常 我预计它是因为字符不能为负数 相反 它从颠倒开始倒数 提前致谢 为什么不给出编译错误或运行时异
  • 用于查看算法花费多长时间的计时器表示我的二分搜索比线性搜索花费的时间更长

    这是要点课程https gist github com 2605302 https gist github com 2605302 我已经用不同的文件对其进行了多次测试 即使二分搜索进行的比较较少 所花费的时间也总是更多 出了什么问题 pu
  • 什么是对象发布以及为什么我们需要它?

    在一次 Java 开发人员面试中 我被问到一个问题 什么是对象发布以及为什么我们需要它 我不确定我知道正确的答案 我认为对象发布是指将对象 变量 状态放入堆内存中 线程之间共享对象 变量 需要它 我对吗 如果我错了 请纠正我 我一直在搜索
  • gRPC 客户端重新连接逻辑导致服务器端打开重复流

    我有一个使用两个双向流的 gRPC 客户端 由于目前未知的原因 当我们每小时发送一次 keepAlive ping 时 会出现 onError 并带有statusRuntimeException在两个流上都被调用 为了处理重新连接 我在 j
  • Gradle:找不到受信任的证书

    我正在尝试使用 Gradle 在 Ubuntu 服务器上构建我的 Android 项目 在我的 Windows 10 PC 上使用 Android Studio 构建工作正常 但使用 gradlew build or gradlew cle
  • JAXB 将不需要的命名空间声明附加到标签

    我正在实现 XMPP 的自制子协议 并且使用 StAX 和 JAXB 的组合来解析 编组消息 当我整理一条消息时 我最终会得到大量不需要的命名空间声明
  • Hibernate:单表中的父/子关系

    我几乎没有看到任何关于以下与 Hibernate 相关问题的提示 这涉及使用具有父子关系的单个数据库表来实现继承 与自身的关系 例如 CREATE TABLE Employee empId BIGINT NOT NULL AUTO INCR
  • Java swing:为 JComboBox 实现我的 Combobox 模型

    我需要我的组合框包含组织的简称 问题是我can在下拉列表中查看组织名称 但是cant实际上选择它 我的错误在哪里 public class ToComboBoxModel extends AbstractListModel implemen
  • 如何用 JSON 表示数据库中的图像

    我需要基于数据库中的 blob 创建 JSON 为了获取 blob 图像 我使用下面的代码并在 json 数组中显示之后 Statement s connection createStatement ResultSet r s execut
  • Java ReentrantReadWriteLocks - 如何在读锁中安全地获取写锁?

    我现在在我的代码中使用可重入读写锁 http java sun com javase 6 docs api java util concurrent locks ReentrantReadWriteLock html同步对树状结构的访问 这
  • 如何使用 NetBeans 导入 Jackson Core JacksonFactory?

    请参阅固定导入声明的链接问题 我将在尝试 Netbeans 后更新这个问题 下面使用 Netbeans 一切应该建立 https github com NICKSAUNDERS sheets 然而 这个问题是针对 Netbeans 的 寻找
  • 在Java中解析包含multipart/form-data请求体的字符串

    问题陈述 我认为标题说明了一切 我正在寻找解析 a 的方法String包含 multipart form data HTTP 请求的正文部分 IE 字符串的内容看起来像这样 xyzseparator blah Content Disposi
  • 多个事件分派线程

    我是 Java Swing 新手 我的问题与事件队列和调度线程相关 我读到可以有多个事件队列 每个队列应用上下文 http www java2s com Open Source Java Document 6 0 JDK Modules s
  • 使用 Vaadin 生成 HTML 速度缓慢

    我是一个有问题的开发人员 目前我们的项目 使用 Vaadin 即将结束 但是 我们在其中一个视图中显示简单数据时遇到了一些麻烦 Vaadin 完成生成后 需要显示超过 500 KB 的数据 以及超过 15K 的 DOM 元素 在完成之前需要
  • 整个程序可以是不可变的吗? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我熟悉不可变性并且可以设计不可变类 但我主要拥有学术知识 缺乏实践经验 请参考上面的链接图片 尚不允许嵌入 从下往上看 学生需要新地址

随机推荐

  • Python中tkFileDialog实现文件选择、保存和路径选择

    tkFileDialog文件选择 保存和路径选择 概述 示例 概述 看了下Tkinter的文档 对于Pop up dialog有三类 现在用到的是tkFileDialog tkFileDialog有三种形式 一个是 askopenfilen
  • 解决跨域的配置

    这里写自定义目录标题 解决跨域问题 解决跨域问题 在网关中添加跨域的配置文件 Configuration public class MymallCorsConfiguration Bean public CorsWebFilter cors
  • 开源项目选型考虑的四个方面

    http www trinea cn other open source choice
  • 基于多视角学习和个性化注意力机制的新闻推荐

    NPA Neural News Recommendation with Personalized Attention 2019 7 链接 https arxiv org abs 1907 05559 发表在 IJCAI 2019和 KDD
  • 常见的排序算法总结

    排序简介 简介 排序算法 英语 Sorting algorithm 是一种将一组特定的数据按某种顺序进行排列的算法 排序算法多种多样 性质也大多不同 性质 稳定性 稳定性是指相等的元素经过排序之后相对顺序是否发生了改变 拥有稳定性这一特性的
  • ArrayList 集合 嵌套HashMap集合

    开发工具与关键技术 IDEA 撰写时间 2022 5 27 ArrayList 集合 嵌套HashMap集合 首先创建一个ArrayList集合 然后在ArrayList的 lt gt 里添加HaspMap集合 HaspMap集合的里键值对
  • 环境配置篇

    旧机子经常卡 代码打不动 换了一台 温习一遍配置 开一篇记录一下 1 jdk 安装jdk 还是别装最新的 经不起因为最新的原因导致各种bug 下载网址 点击打开链接 配置JAVA HOME 找到对应文件 以后要更新jdk修改这个文件就行 配
  • Yii Framework 开发教程(35) Zii组件-Button示例

    CJuiButton 显示按钮 CJuiButton 既可以做为Submit 提交 按钮 也可以做为普通按钮 按钮基本用法如下 php view plain copy print
  • Linux:基础开发工具之Makefile和缓冲区的基本概念

    文章目录 动静态库 自动化构建代码 缓冲区 原理实现 具体实现 动静态库 首先要知道什么是链接 C程序中 并没有定义printf的函数实现 且在预编译中包含的stdio h中也只有该函数的声明 而没有定义函数的实现 系统把这些函数实现都被做
  • new date()标准时间转yyyy-mm-dd hh:mm 24小时制

    知识点 es6的Object方法 正则表达式 循环对象等 直接贴代码
  • 解决Linux关机重启连不上网的异常

    NetworkManager 解决开机连不上网的问题 1 Systemctl status NetworkManager 查看NetworkManager的状态 2 如果NetworkManager的状态为运行状态 关闭NetworkMan
  • 区块链学习心得1:三个关于区块链数据安全性的重要常识性知识

    前往老猿Python博文目录 前面介绍了区块链的基础知识 包括什么是区块链 区块链类型 共识算法 Merkle树 默克尔树 和Merkle根 区块链的分叉 出块 最长链原则 主链等概念 在对这些概念理解较为彻底的基础上 老猿总结了几个常识性
  • 招聘Bev感知实习生

    工作职责 1 负责Bev感知算法调研和运用 2 负责模型量化部署 职位要求 1 熟悉Bevformer BevFusion等深度学习网络结构 2 熟悉C Python程序开发 3 具有良好的沟通能力 良好的团队合作精神 简历投递邮箱 lei
  • JavaSE进阶(二)—— 面向对象进阶(包、权限修饰符、抽象类、多态)

    目录 一 包 1 什么是包 2 导包 二 权限修饰符 1 什么是权限修饰符 2 权限修饰符的分类和具体作用范围 3 学完权限修饰符需要具备如下能力 三 final 1 final的作用 2 final修饰变量的注意 四 常量 1 常量概述和
  • C语言零基础入门习题(四)分苹果

    前言 C语言是大多数小白走上程序员道路的第一步 在了解基础语法后 你就可以来尝试解决以下的题目 放心 本系列的文章都对新手非常友好 Tips 题目是英文的 但我相信你肯定能看懂 一 Mr Wang wants to give some ap
  • C++编程命名规范

    C 编程命名规范 PS 根据多年工作经验和其它命名规范整理而成 个人感觉比较规范的标准 现应用于我的开发团队 一 命名通用规则 文件名 函数名 变量名命名应具有描述性 不要过度的缩写 类型变量是名词 函数名是动词或动词 名词 函数名必须是指
  • 编译原理笔记

    目录 序章 编译原理 编译器 程序设计语言 第一章 概述 机器语言 第一代语言 特点 汇编语言 高级程序设计语言 鼻祖 时期 特点 翻译程序 汇编语言 解释语言 编译程序 编译过程 词法分析 语法分析 语义分析 中间代码生成 之前三步都是编
  • MongoDB数据库的基本操作

    一 使用async await对CRUD进行封装 1 定义dao层 数据库访问层 专门用于访问数据库 不和接口直接联系 2 定义service层 服务层 通过调用dao层的方法来获取数据 将结果通过res对象响应给客户端 3 路由接口 功能
  • odoo14本地开发部署

    odoo本地开发部署 1 使用git在本地安装odoo 1 1地址 https github com odoo odoo 1 2 复制https里面链接 git clone http github com odoo odoo git 1 2
  • maven打包,依赖也打进jar包

    一 如果没有依赖第三方包 可以用maven jar plugin插件 只是修改META INFO下的MANIFEST MF信息 指定运行jar包的main入口