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

Maven引入第三方JAR包实战指南

要将第三方提供的 JAR 包引入本地 Maven 仓库,可通过以下步骤实现(以 Oracle JDBC 驱动为例):


🔧 方法 1:使用 install:install-file 命令(推荐)

  1. 定位 JAR 文件
    将第三方 JAR 包(如 ojdbc11.jar)放置到本地目录(例如 D:\libs)。

  2. 执行 Maven 安装命令
    在命令行中进入 JAR 所在目录,执行以下命令(参数需根据实际修改):

    mvn install:install-file -Dfile=ojdbc11.jar                      # JAR 文件路径-DgroupId=com.oracle.database            # 自定义 groupId-DartifactId=ojdbc11                     # 自定义 artifactId-Dversion=21.13.0.0                      # 自定义版本号-Dpackaging=jar                          # 打包类型
    

    执行后效果
    JAR 会自动安装到本地仓库路径(如 ~/.m2/repository/com/oracle/database/ojdbc11/21.13.0.0/ojdbc11-21.13.0.0.jar)。

  3. 在项目中引用
    pom.xml 中添加依赖:

    <dependency><groupId>com.oracle.database</groupId><artifactId>ojdbc11</artifactId><version>21.13.0.0</version>
    </dependency>
    

注意事项

  1. 参数命名规范

    • groupIdartifactId 需符合反向域名规则(如 com.xxx)。
    • 版本号应与实际一致,避免冲突。
  2. 路径问题

    • -Dfile 需使用绝对路径相对路径正确指向 JAR 文件。
    • Windows 路径分隔符用 \/ 均可(如 D:/libs/ojdbc11.jar)。
  3. 环境验证
    执行前用 mvn -v 检查 Maven 环境是否配置正确。


🔄 替代方案对比

方法适用场景缺点
install-file 命令通用场景,需长期使用需手动执行命令
<systemPath> 引用临时测试,不放入仓库依赖需随项目分发,移植性差
IDE 直接添加库快速调试仅限当前项目,团队协作失效

💡 最佳实践:正式项目首选命令安装至本地仓库,确保构建一致性。


🌐 扩展:部署到私服(团队共享)

若需团队共享,可上传至 Nexus 私服

  1. 配置 settings.xml 添加私服认证:
    <server><id>nexus-releases</id><username>admin</username><password>admin123</password>
    </server>
    
  2. 执行部署命令:
    mvn deploy:deploy-file -Dfile=ojdbc11.jar -DgroupId=com.oracle.database -DartifactId=ojdbc11 -Dversion=21.13.0.0 -Dpackaging=jar -Durl=http://私服地址/repository/maven-releases/ -DrepositoryId=nexus-releases  # 与 settings.xml 的 <server> id 一致
    
http://www.dtcms.com/a/268153.html

相关文章:

  • 支持向量机(SVM)在肝脏CT/MRI图像分类(肝癌检测)中的应用及实现
  • Python11中创建虚拟环境、安装 TensorFlow
  • AI编程:打造炫酷多语倒计时器
  • 【Elasticsearch】自定义评分检索
  • 评论区实现 前端Vue
  • 【openp2p】 学习4: 纳秒级别的时间同步算法及demo
  • 数学建模的一般步骤
  • FastAPI+React19开发ERP系统实战第04期
  • Hadoop YARN 命令行工具完全指南
  • ProCCD复古相机:捕捉复古瞬间
  • uniapp的光标跟随和打字机效果
  • LangChain有中文网可以访问,还有教程可以学
  • 手机FunASR识别SIM卡通话占用内存和运行性能分析
  • Jailer:一款免费的数据库子集化和数据浏览工具
  • ragflow本地部署教程linux Ubuntu系统
  • Android studio在点击运行按钮时执行过程中输出的compileDebugKotlin 这个任务是由gradle执行的吗
  • 《前端路由重构:解锁多语言交互的底层逻辑》
  • 【Linux笔记】Linux的常见命令(部署Java程序)
  • 基于大数据的高效并行推荐系统
  • VSCode+arm-none-eabi-gcc交叉编译+CMake构建+OpenOCD(基于Raspberry Pico RP2040)
  • C 语言指针与作用域详解
  • 百度文心大模型 4.5 开源深度测评:技术架构、部署实战与生态协同全解析
  • Gitee DevOps:全流程自动化的效率革命
  • DeepSORT算法流程详解
  • 基于Flask+Jinja2的快捷教务系统(后端链接到新版正方教务系统)
  • k8s-服务发布基础
  • 数据结构实验习题
  • 定时器和守护线程
  • 【Guava】1.0.设计虚拟机的方向
  • tensorflow武林志第二卷第九章:玄功九转