项目引入Jar包的几种方式

目录

背景

方式一

前提

创建一个jar包

使用

方式二


背景

        通常情况下,使用SpringBoot框架开发项目的过程中,需要引入一系列依赖,首选的就是在项目的 pom.xml 文件里面通过Maven坐标进行引入(可以通过Maven的坐标引入jar包的前提是jar包是通过Maven的方式进行发布的,比如我们通常在 maven官方仓库 搜索到具体jar包的坐标依赖后,直接复制到项目的 pom.xml 文件就可以了),如下图使用坐标依赖的形式在项目中引入junit

        但是如果在开发过程中用到的某些jar包并非是通过Maven的方式发布的,那自然也不能通过Maven的方式进行引入(大白话解释就是:项目中需要使用某个jar包,并且我们已经拿到这个jar包了,但是这个jar包不是通过 maven的方式进行发布的,我们没办法在项目中通过 GAV坐标的形式把这个jar包引入到项目中来使用),此时有以下几种解决办法。

方式一

前提

        我们已经拿到了一个 jar 文件(如:xxx.jar),没办法通过 Maven的方式进行引入。

创建一个jar包

        新建一个最普通的Java项目(注意:不是Maven项目,就是最普通的Java项目),如下图:

        把上述的Java项目导出成一个 jar包。把一个Java工程打成一个jar包需要如下几个步骤(看图):

 

 

 

 

 

 

 

 

使用

        通过上述步骤我们得到了一个jar包(outer.jar),现在就把这个 outer.jar看成是项目需要引入的一个外部jar包(这个jar包没办法通过maven的方式引入到项目中),具体使用方式如下:

(1)再新建一个项目(SpringBoot项目),如下图:

(2)把 outer.jar 通过maven命令安装到本地仓库中 

此处使用install插件的install-file目标:

mvn install:install-file -Dfile=[体系外jar包的路径] \

-DgroupId=[给体系外 jar 包强行设定坐标] \

-DartifactId=[给体系外 jar 包强行设定坐标] \

-Dversion=[给体系外 jar 包设定一个版本号] \

-Dpackaging=jar

例如(Windows系统下使用 ^符合换行;Linux系统使用 \ 换行) 

 

mvn install:install-file -Dfile=C:\Users\24350\Desktop\outer.jar ^

-DgroupId=com.shg ^

-DartifactId=test-outer-jar ^

-Dversion=1.0 ^

-Dpackaging=jar

 安装截图1:

安装截图2:选择Command Prompt这种命令行,可以成功执行(不用在 -D 和参数后面加空格)

安装完成后,到自己本地仓库查看是否安装成功,如下图:

(3)在项目中使用,如下图:

 

方式二

        (1)把 outer.jar包放到项目路径下(我这里放到 项目的 /lib目录下),如下图:
 

(2)右键 outer.jar,将其添加到项目类路径下,如下图:

 (3)其实这样已经可以使用这个 <外部的outer.jar>了,如下:

 

(4)但是这种方式存在的问题是,如果打包这个项目, 使用 “Add as Library” 的方式时会报错,所以此时需要在项目的 pom.xml文件里面 "引入" 这个jar包,如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/316788.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java中的数据类型和操作符

目录 Java的数据类型&#xff1a; ! >>> ?: 数组另外一种传参形式&#xff1a; 输入&#xff1a; switch: 快捷键&#xff1a; 快捷创建包&#xff1a; 提交Gitee仓库&#xff1a; next和nextLine区别&#xff1a; 注意事项&#xff1a; 循环终…

【零基础入门TypeScript】类型和变量

目录 任意类型 内置类型 Null 和 undefined ─ 它们是一样的吗&#xff1f; 用户定义类型 TypeScript 中的变量声明 示例&#xff1a;TypeScript 中的变量 TypeScript 中的类型断言 例子 TypeScript 中的推断类型 示例&#xff1a;推断类型 TypeScript 变量作用域 …

Vue3-34-路由-路由配置参数 props

说明 路由的路径中可以携带参数&#xff0c; 形式如 &#xff1a;/a/:pname &#xff0c;这个:表示这是个参数&#xff0c;pname &#xff1a;表示 参数名称。 在组件中&#xff0c;可以通过 当前路由对象的 params 属性来获取到这个参数&#xff0c; 当前路由对象 可以通过 us…

scratch小明游泳 2023年12月中国电子学会图形化编程 少儿编程 scratch编程等级考试四级真题和答案解析

目录 scratch小明游泳 一、题目要求 1、准备工作 2、功能实现 二、案例分析

ElasticSearch 复合查询 Boolean Query

官网文档网址&#xff1a;Boolean query | Elasticsearch Guide [7.17] | Elastic 目录 复合查询 Boolean Query 利用bool查询实现功能 总结 复合查询 Boolean Query 布尔查询是一个或多个查询子句的组合。子查询的组合方式有&#xff1a; must:必须匹配每个子查询&#xf…

静态库与动态库

这里写目录标题 静态库与动态库简介 静态库简图制作与使用总览制作 二级目录 动态库&#xff08;共享库&#xff09;简图二级目录二级目录 一级目录二级目录二级目录二级目录 一级目录二级目录二级目录二级目录 一级目录二级目录二级目录二级目录 静态库与动态库 简介 静态库&…

如何避免LLM的“幻觉”(Hallucination)

生成式大语言模型&#xff08;LLM&#xff09;可以针对各种用户的 prompt 生成高度流畅的回复。然而&#xff0c;大模型倾向于产生幻觉或做出非事实陈述&#xff0c;这可能会损害用户的信任。 大语言模型的长而详细的输出看起来很有说服力&#xff0c;但是这些输出很有可能是虚…

外汇天眼:行情突发爆仓,他只用了一招喜获赔偿!

在外汇市场中&#xff0c;行情的剧烈波动往往伴随着风险和机遇&#xff0c;有些突发行情的性质可能导致滑点和爆仓等交易问题&#xff0c;投资者在这样的情况下往往感到手足无措&#xff0c;往大了说是遭遇黑平台、假冒平台诈骗&#xff0c;往小了说就是在持有正规海外牌照的主…

electron自定义菜单

创建menu.js const { app, Menu } require("electron"); const createMenu () > {const menu [{label: "菜单",submenu: [{label: "新增",click: () > {},}, ],},{label: "关于",submenu: [{label: "新增",click:…

了解Apache 配置与应用

本章内容 理解 Apache 连接保持 掌握 Apache 的访问控制 掌握 Apache 日志管理的方法 Apache HTTP Server 之所以受到众多企业的青睐&#xff0c;得益于其代码开源、跨平台、功能 模块化、可灵活定制等诸多优点&#xff0c;不仅性能稳定&#xff0c;在安全性方面的表现也十分…

阿里云2核2G3M服务器能放几个网站?有限制吗?

阿里云2核2g3m服务器可以放几个网站&#xff1f;12个网站&#xff0c;阿里云服务器网的2核2G服务器上安装了12个网站&#xff0c;甚至还可以更多&#xff0c;具体放几个网站取决于网站的访客数量&#xff0c;像阿里云服务器网aliyunfuwuqi.com小编的网站日访问量都很少&#xf…

使用MQTT.JS创建一个网页版的MQTT客户端

一、MQTT.JS介绍 MQTT.js 是一个开源的 MQTT 协议的客户端库&#xff0c;使用 JavaScript 编写&#xff0c;主要用于 Node.js 和 浏览器环境中。是JavaScript 环境下的 MQTT 客户端库。可以用于微信小程序、支付宝小程序等定制浏览器环境。 我们可以直接在HTML文件中进行调用…