如何将本地 Jar 包安装到 Maven 仓库(以 Aspose 为例)
在实际开发中,我们经常会遇到一些第三方库(如商业库 Aspose)无法通过 Maven 仓库直接引入的情况。这时,我们可以手动将 jar 包安装到本地 Maven 仓库,然后像普通依赖一样使用它。
本文以 Aspose.Slides 和 Aspose.Words 为例,手把手教你如何将 jar 包添加到本地 Maven 仓库并在项目中使用。
🎯 前置条件
-
你已经安装并配置好 JDK 和 Maven(确保
mvn
命令可用) -
你已经获得需要的 jar 包文件,比如:
aspose-slides-19.3.jar
aspose-words-15.8.0-jdk16.jar
📦 第一步:安装 jar 到本地 Maven 仓库
你有 两种方式 来完成这一步:推荐使用脚本方式,也支持手动执行命令。
✅ 方法一:使用 .bat 脚本(推荐)
将以下内容保存为 install-aspose.bat
,并与两个 jar 文件放在同一个文件夹下:
@echo off
echo ============================================
echo Installing Aspose JARs to local Maven repository...
echo ============================================echo Installing aspose-slides-19.3.jar...
mvn -N install:install-file -Dfile="aspose-slides-19.3.jar" -DgroupId=aspose -DartifactId=aspose-slides -Dversion=19.3 -Dpackaging=jar -DcreateChecksum=true
echo.echo Installing aspose-words-15.8.0-jdk16.jar...
mvn -N install:install-file -Dfile="aspose-words-15.8.0-jdk16.jar" -DgroupId=aspose -DartifactId=aspose-words -Dversion=15.8.0 -Dpackaging=jar -DcreateChecksum=true
echo.echo ============================================
echo Done. Both JARs should now be in your .m2 repository.
pause
✅ 双击运行该文件即可自动安装。
✅ 方法二:单独执行命令(适合初学者理解每一步)
你也可以打开命令提示符(cmd
)或 PowerShell,进入 jar 文件所在目录,逐条执行以下命令:
mvn -N install:install-file -Dfile="aspose-slides-19.3.jar" -DgroupId=aspose -DartifactId=aspose-slides -Dversion=19.3 -Dpackaging=jar -DcreateChecksum=true
mvn -N install:install-file -Dfile="aspose-words-15.8.0-jdk16.jar" -DgroupId=aspose -DartifactId=aspose-words -Dversion=15.8.0 -Dpackaging=jar -DcreateChecksum=true
-Dfile=...
指定 jar 文件路径-DgroupId/artifactId/version
指定 Maven 依赖信息-N
表示忽略当前目录是否是 Maven 项目-DcreateChecksum=true
可选,会生成.sha1
校验文件
🗃️ 第二步:验证文件是否成功安装
默认情况下,jar 文件会被安装到你本机的 .m2
仓库目录,例如:
C:\Users\<你的用户名>\.m2\repository\aspose\aspose-slides\19.3\
C:\Users\<你的用户名>\.m2\repository\aspose\aspose-words\15.8.0\
每个目录下都应包含 jar 包和自动生成的 .pom
文件。
🧩 第三步:在 pom.xml
中引用依赖
现在你可以像使用普通依赖一样,在你的 Maven 项目的 pom.xml
中添加以下内容:
<dependency><groupId>aspose</groupId><artifactId>aspose-slides</artifactId><version>19.3</version>
</dependency><dependency><groupId>aspose</groupId><artifactId>aspose-words</artifactId><version>15.8.0</version>
</dependency>
🛠️ 常见问题解答
❓ 运行 mvn install:install-file
报错:
The goal you specified requires a project to execute but there is no POM...
✅ 解决:加上 -N
参数(mvn -N install:install-file
),表示不依赖于当前目录是否为 Maven 项目。
✅ 总结
步骤 | 内容 |
---|---|
1️⃣ | 准备好 jar 文件和 .bat 安装脚本 |
2️⃣ | 使用 mvn install:install-file 安装到本地仓库 |
3️⃣ | 在 pom.xml 中引用即可 |
这种方法适用于所有无法通过远程仓库下载的 jar 包,尤其适合闭源或商业库的集成。
相关文章:
如何将本地 Jar 包安装到 Maven 仓库(以 Aspose 为例)
在实际开发中,我们经常会遇到一些第三方库(如商业库 Aspose)无法通过 Maven 仓库直接引入的情况。这时,我们可以手动将 jar 包安装到本地 Maven 仓库,然后像普通依赖一样使用它。 本文以 Aspose.Slides 和 Aspose.Wor…...
[Linux]多线程(一)充分理解线程库
标题:[Linux]多线程 水墨不写bug 文章目录 一、线程的概念1、一句话总结区分进程和线程2、如何理解?3、那么进程和线程的对比?4、Linux为什么要这样设计进程和线程,难道不乱吗?5、从CPU的角度看待执行流?-…...
Mysql order by 用法
ORDER BY 是 SQL 里用于对查询结果进行排序的子句,它能够让查询结果按照指定的列或表达式进行升序或者降序排列,使数据呈现出更有规律的顺序,方便用户查看和分析。下面详细阐述其作用和用法 作用 ORDER BY 的主要作用是对查询结果集进行排序…...
嵌入式学习--江协51单片机day1
今天学习了led灯的相关操作以及独立按键对于led灯的控制。 led灯的相关操作 led灯的相关操作包括点亮,闪烁,流水灯以及流水灯plus 点亮 开发板的led灯是低电平有效,也就是当我们设置0时亮,1时灭。 P2是开发板的led灯模块的8位…...
uniapp开发11-v-for动态渲染list列表数据
uniapp开发11-v-for动态渲染list列表数据!下面是一个简单的动态渲染list列表数据的案例。我们现在还未对接真正的后台接口,所以我们直接在页面组件内部,返回一个json数组,模拟从服务器远程获取到的新闻列表信息。来达到渲染输出的…...
qt国际化翻译功能用法
文章目录 [toc]1 概述2 设置待翻译文本3 生成ts翻译源文件4 编辑ts翻译源文件5 生成qm翻译二进制文件6 加载qm翻译文件进行翻译 更多精彩内容👉内容导航 👈👉Qt开发经验 👈 1 概述 在 Qt 中,ts 文件和 qm 文件是用于国…...
nut-list和nut-swipe搭配:nut-cell侧滑定义无法冒泡打开及bug(含代码、案例、截图)
nut-list和nut-swipe搭配:nut-cell侧滑定义无法冒泡打开及bug(含代码、案例、截图) Nut-UI 官方文档: swipe侧滑手势: https://nutui.jd.com/h5/vue/4x/#/zh-CN/component/swipelist 虚拟列表: https://nutui.jd.com/h5/vue/4x/#/zh-CN/component/list疑问+bug+解决方式:…...
WebRTC并非万能:RTMP与RTSP的工程级价值再认识
不是所有低延迟场景都需要WebRTC:RTMP/RTSP的技术硬实力解析 ——来自大牛直播SDK的实战分析与底层技术对比 一、WebRTC是热潮,但不是银弹 近年来,WebRTC频频出现在技术选型会议上: “浏览器直连,免插件”;…...
Factorio 异星工厂 [DLC 解锁] [Steam] [Windows SteamOS]
Factorio 异星工厂 [DLC 解锁] [Steam] [Windows & SteamOS] 注意 这个符号表示 可打开折叠内容 需要有游戏正版基础本体,安装路径不能带有中文,或其它非常规拉丁字符;请务必阅读 使用说明 (最新以网站说明为准)…...
LLM的min_p 参数详
min_p 参数详解 min-p采样,源自论文"Min P Sampling: Balancing Creativity and Coherence at High Temperature"。在大语言模型(LLM)中,min_p 通常是指在生成文本时的最小概率阈值(Minimum Probability),用于控制输出 token 的选择,特别是在核采样(Nucleus…...
C语言_可变参数_LOG宏
LOG宏一般处理,没有参数,只有字符串参数,字符串格式和一个参数,多个参数的场合。以下是针对常见的应用场合举例说明,可便参数的使用。 代码 #include <stdio.h>#define LOG(format, ...) printf("[%s][%…...
19.第二阶段x64游戏实战-vector容器
免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 上一个内容:18.第二阶段x64游戏实战-MFC列表框 vector是一个封装了动态大小数组的顺序容器…...
第九节:图像处理基础-图像几何变换 (缩放、旋转、平移、翻转)
引言 在计算机视觉和图像处理领域,几何变换是最基础且应用最广泛的技术之一。通过改变图像的几何结构,我们可以实现图像缩放以适应不同分辨率设备,旋转图像以校正方向偏差,平移目标物体进行位置对齐,或通过翻转操作增…...
jmeter 执行顺序和组件作用域
本章节主要讲解“JMeter执行顺序与作用域”的内容,类似于运算符或操作符的优先级,当JMeter测试中包含多个不同的元素时,哪些元素先执行,哪些元素后执行,并不是严格按照它们出现的先后顺序依次有序执行的,而…...
mvc-review
review: 1.最初的做法:一个请求对应一个servlet,这样存在的问题是servlet太多了 2.改动:把一系列请求都对应一个servlet, IndexServlet / AddServlet / DelServlet / UpdateServlet ...-> 合并成FruitServlet 通过一个oper…...
基于ResNet50的手写符号识别系统
基于ResNet50的手写符号识别系统 项目概述 本项目实现了两个手写符号识别模型: ABCD字母识别模型:用于识别手写的A、B、C、D四个字母✓符号识别模型:用于识别手写的对勾(✓)和叉号() 两个模型均基于ResNet50预训练模型,采用迁…...
SpringBoot教学管理平台源码设计开发
概述 基于SpringBoot框架开发的教学管理平台完整项目,帮助开发者快速搭建在线教育平台。该系统包含学生端、教师端和管理后台,实现了课程管理、随堂测试、作业提交等核心功能,是学习SpringBoot开发的优质案例。 主要内容 1. 系统架…...
C++负载均衡远程调用学习之集成测试与自动启动脚本
目录 01 Lars-LbAgentV0.7-route_lb获取路由全部主机信息 02 Lars-LbAgentV0.7-API模块注册功能实现和测试工 03 Lars-LbAgentV0.7-项目构建工具 04 Lars-LbAgentV0.7-启动工具脚本实现 05 Lars-有关fd泄露的调试办法 06 Lars-qps性能测试 07 git企业开发基本流程 01 Lar…...
双ISP(双互联网服务提供商)
目录 核心作用 适用场景 实现方式 优缺点 假设一家外贸公司 双ISP(双互联网服务提供商) 是指用户同时接入两个不同的网络服务提供商(Internet Service Provider),通过冗余设计或负载均衡技术,提升网络…...
网工实验——静态路由与BFD联动
网络拓扑图 实验目的: PC与Server通信的时候主要走上面,当主用电路失效的时候走下面 设备: 一台PC主机 一台Server服务器 两台Router路由器 一台S3700交换机 配置 1.配置PC和Server的IP地址 PC Server 2.配置路由器 R3配置对应接口…...
谷歌在即将举行的I/O大会之前,意外泄露了其全新设计语言“Material 3 Expressive”的细节
每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...
【网络原理】IP协议
目录 编辑 一. IP协议的作用 二. IP协议报头 三. 拆包和组包 四. 地址管理 1)动态分配IP地址 2)NAT机制(网络地址映射) 3) IPV6 五. IP转换 1)客户端到服务器 2)服务器到客户端 六…...
【Python 文件I/O】
Python 的文件 I/O 操作是数据处理的基础技能,涉及文件的读写、路径管理、异常处理等核心功能。以下是文件 I/O 的核心知识点: 一、基础文件操作 1. 打开文件 # 通用模式:r(读)/w(写)/a(追加) b(二进制)/t(文本,默认) f open(…...
torchrun单机多卡运行
torchrun命令使用 torchrun示例 export CUDA_VISIBLE_DEVICES0,1,2 nohup torchrun \--nproc_per_node3 \--nnodes1 \--node_rank0 \--master_addr"127.0.0.1" \--master_port1225 \/data/train.py \--batch_size 32 \--size 320运行如上sh命令发现,即 …...
数据管理平台是什么?企业应如何做好数据化管理?
目录 一、数据管理是什么? 二、数据管理平台有哪些作用? 1. 数据采集与整合 2. 数据清洗与预处理 3. 数据分析与挖掘 4. 数据共享与协作 三、企业应如何做好数据化管理? 1. 建立数据管理战略 2. 完善数据管理制度 3. 培养数据管理人…...
GuassDB如何创建兼容MySQL语法的数据库
GaussDB简介 GaussDB是由华为推出的一款全面支持OLTP和OLAP的分布式关系型数据库管理系统。它采用了分布式架构和高可靠性设计,可以满足大规模数据存储和处理的需求。GaussDB具有高性能、高可靠性和可扩展性等特点,适用于各种复杂的业务场景,…...
Qt国际化实战--精通Qt Linguist工具链
概述 在全球化的今天,软件产品需要支持多种语言和地区,以满足来自世界各地用户的需求。Qt框架提供了一套完整的工具集来帮助开发者实现应用程序的国际化(i18n)和本地化(l10n),其中最核心的就是Qt Linguist工具链 关于国际化与本地化 国际化(i18n): 指的是设计和开发…...
C++内联函数
总结:内联函数是把函数变成一个代码块直接塞入源程序中,省去了一些参数传递和栈操作(省时间),但是同时又增加了代码的大小(因为原本的函数只有会使用指针指向该函数,但是内联函数是直接塞入&…...
26届秋招收割offer指南
26届暑期实习已经陆续启动,这也意味着对于26届的同学们来说,“找工作”已经提上了日程。为了帮助大家更好地准备暑期实习和秋招,本期主要从时间线、学习路线、核心知识点及投递几方面给大家介绍,希望能为大家提供一些实用的建议和…...
Python之内省与反射应用
Python之内省与反射应用 Python作为一门动态语言,具备了强大的内省(Introspection)与反射(Reflection)机制。这两个概念在运行时查看对象的属性、类型、方法等信息,甚至可以动态调用方法或修改对象的属性。…...
第三章:langchain加载word文档构建RAG检索教程(基于FAISS库为例)
文章目录 前言一、载入文档(word)1、文档载入代码2、文档载入数据解读(Docx2txtLoader方法)输入数据输出文本内容 3、Docx2txtLoader底层代码文档读取解读Docx2txtLoader底层源码示例文档读取输出结果 二、文本分割1、文本分割代码…...
球速最快的是哪种球类运动·棒球1号位
在体育运动中,球速最快的项目与棒球结合来看,可以分两个角度解读: 一、球速最快的运动项目 羽毛球以426公里/小时(吉尼斯纪录)的杀球速度位列榜首,远超棒球投球速度。其极速源于: 羽毛球拍甜区…...
TVM中Python如何和C++联调?
1. 编译 Debug 版本 # 在项目根目录下创建构建目录(若尚未创建) mkdir -p build && cd build# 配置 Debug 构建 cmake -DCMAKE_BUILD_TYPEDebug ..# 编译(根据 CPU 核心数调整 -j 参数) make -j$(nproc)2. 获取 Python 进…...
从零实现基于Transformer的英译汉任务
1. model.py(用的是上一篇文章的代码:从0搭建Transformer-CSDN博客) import torch import torch.nn as nn import mathclass PositionalEncoding(nn.Module):def __init__ (self, d_model, dropout, max_len5000):super(PositionalEncoding,…...
在 PyTorch 中借助 GloVe 词嵌入完成情感分析
一. Glove 词嵌入原理 GloVe是一种学习词嵌入的方法,它希望拟合给定上下文单词i时单词j出现的次数。使用的误差函数为: 其中N是词汇表大小,是线性层参数, 是词嵌入。f(x)是权重项,用于平衡不同频率的单词对误差的影响…...
大数据应用开发和项目实战-电商双11美妆数据分析
数据初步了解 (head出现,意味着只出现前5行,如果只出现后面几行就是tail) info shape describe 数据清洗 重复值处理 这个重复值是否去掉要看实际情况,比如说:昨天卖了5瓶七喜,今天卖了5瓶七…...
web服务
一、nginx的安装与启用 nginx的安装 开源版本的Nginx官网:http://nginx.org Nginx在安装的过程中可以选择源码安装也可以选择使用软件包安装 源码安装下载相应的源码压缩包解压后编译完成安装 软件安装包可以使用rpm或者apt命令进行安装,也可以使用dnf…...
在Spring Boot 中如何配置MongoDB的副本集 (Replica Set) 或分片集群 (Sharded Cluster)?
在 Spring Boot 中配置 MongoDB 副本集 (Replica Set) 或分片集群 (Sharded Cluster) 非常相似,主要区别在于连接字符串 (URI) 中提供的主机列表和一些特定选项。 最常的方式是使用 spring.data.mongodb.uri 属性配置连接字符串。 1. 连接到 MongoDB 副本集 (Repl…...
Oracle中游标和集合的定义查询及取值
在 Oracle 存储过程中,使用游标处理自定义数据行类型时,可以通过 定义记录类型(RECORD) 和 游标(CURSOR) 结合实现。 1. 定义自定义记录类型 使用 TYPE … IS RECORD 定义自定义行数据类型: DE…...
Python企业级MySQL数据库开发实战指南
简介 Python与MySQL的完美结合是现代Web应用和数据分析系统的基石,能够创建高效稳定的企业级数据库解决方案。本文将从零开始,全面介绍如何使用Python连接MySQL数据库,设计健壮的表结构,实现CRUD操作,并掌握连接池管理、事务处理、批量操作和防止SQL注入等企业级开发核心…...
【LLM】Open WebUI 使用指南:详细图文教程
Open WebUI 是一个开源的、可扩展且用户友好的自托管 AI 平台,专为生成式人工智能模型交互而设计。 Open WebUI 旨在为用户提供一个简单易用、功能强大且高度定制化的界面,使其能够轻松与各种 AI 模型(如文本生成、图像生成、语音识别等)进行交互。 一、安装与初始化配置 扩…...
前端封装框架依赖管理全攻略:构建轻量可维护的私有框架
前端封装框架依赖管理全攻略:构建轻量可维护的私有框架 前言 在自研前端框架的开发中,依赖管理是决定框架可用性的关键因素。不合理的依赖设计会导致: 项目体积膨胀:重复依赖使最终打包体积增加30%版本地狱:不同项目…...
Listremove数据时报错:Caused by: java.lang.UnsupportedOperationException
看了二哥的foreach陷阱后,自己也遇见了需要循环删除元素的情况,立马想到了当时自己阴差阳错的避开所有坑的解决方式:先倒序遍历,再删除。之前好使,但是这次不好使了,报错Caused by: java.lang.UnsupportedO…...
互联网大厂Java求职面试:云原生与AI融合下的系统设计挑战-1
互联网大厂Java求职面试:云原生与AI融合下的系统设计挑战-1 在当今云计算和人工智能迅猛发展的背景下,互联网大厂对Java工程师的要求已从传统的单体架构和业务逻辑处理,转向了更复杂的云原生架构设计、AI模型集成以及高并发系统的性能优化能…...
并发设计模式实战系列(16):屏障(Barrier)
🌟 大家好,我是摘星! 🌟 今天为大家带来的是并发设计模式实战系列,第十六章屏障(Barrier),废话不多说直接开始~ 目录 一、核心原理深度拆解 1. 屏障的同步机制 2. 关键参数 二…...
pywinauto通过图片定位怎么更加精准的识别图片?
pywinauto通过图片定位怎么更加精准的识别图片? 可以使用置信度的配置,添加了对比图片相似程度达到多少就可以认为是合适的定位图片 import time from time import sleep from pywinauto.application import Application from pywinauto.keyboard impo…...
Spring Cloud Stream集成RocketMQ(kafka/rabbitMQ通用)
什么是Spring Cloud Stream Spring Cloud Stream 是 Spring 生态系统中的一个框架,用于简化构建消息驱动微服务的开发和集成。它通过抽象化的方式将消息中间件(如 RabbitMQ、Kafka、RocketMQ 等)的复杂通信逻辑封装成简单的编程模型…...
基于docker使用showdoc搭建API开发文档服务器
以下是基于 Docker 快速搭建 ShowDoc API 文档服务器的完整指南,包含优化配置和常见问题解决方案: 1. 快速部署方案 # 创建数据目录(确保权限) mkdir -p /showdoc_data/html && chmod 777 -R /showdoc_data# 一键启动容器…...
Vision-Language Models (VLMs) 视觉语言模型的技术背景、应用场景和商业前景(Grok3 DeepSearch模式回答)
prompt: 你是一位文笔精湛、十分专业的技术博客作者,你将从技术背景、应用场景和商业前景等多个维度去向读者介绍Vision-Language Models 关键要点 研究表明,视觉语言模型(VLMs)是多模态AI系统,能同时处理视觉和文本数…...
OpenAI大变革!继续与微软等,以非营利模式冲击AGI
今天凌晨2点,OpenAI宣布,将继续由非营利组织控制;现有的营利性实体将转变为一家公共利益公司;非营利组织将控制该公共利益公司,并成为其重要的持股方。 这也就是说OpenAI曾在去年提到的由非营利性转变成营利性公司&am…...