使用maven命令将第三方jar包引入到本地maven仓库

使用maven命令安装指定(第三方)jar包到本地仓库

当maven中央仓库或者私服上没有你需要依赖的第三方jar包时,一般都是手动将jar包放入本地repository文件夹下对应的目录,这样才可被maven正确识别。但这种方法操作繁琐,也不便于脚本化我们推荐使用 maven-install-plugin 插件来进行jar包安装。

第三方jar包在开发工具中引入后编译没问题, 启动调试包括打包时会提示找不到jar包的错误.需要上传到maven仓库中,并在pom文件内引入.

maven命令:

安装指定文件到本地仓库命令:mvn install:install-file

-DgroupId=<groupId>       : 设置上传到仓库的包名

-DartifactId=<artifactId> : 设置该包所属的模块名

-Dversion=1.0.0           : 设置该包的版本号

-Dpackaging=jar           : 设置该包的类型(很显然jar包)

-Dfile=<myfile.jar>       : 设置该jar包文件所在的路径与文件名,就是你这个jar现在在哪放着

一.上传jar包 win+r cmd打开命令行输入以下命令:

首先我们要在哪里使用maven命令呢,如果你自己的本地是配置了maven的也就是环境变量里面,跟jdk一样的配置,那么你就可以直接打开cmd命令使用,如果本地要是没有安装maven,那么需要找到本地maven包所在位置的bin目录下,D:\work8\apache-maven-3.6.1\bin>这是我自己电脑的位置,然后再去使用命令.

mvn install:install-file -DgroupId=com.zebra -DartifactId=ZSDK_API -Dversion=v2.12.3782 -Dpackaging=jar -Dfile=E:\perslib\ZSDK_API.jar

mvn install:install-file -DgroupId=com.zebra -DartifactId=ZSDK_CARD_API -Dversion=v2.12.3782 -Dpackaging=jar -Dfile=E:\perslib\ZSDK_CARD_API.jar

出现以下success说明成功了.

image-20220901105508628

到maven仓库查看:里面是正确的jar内容,下图是随便粘贴的,

image-20220901110052814

maven仓库就是你maven中的conf目录下的settings.xml文件中的<localRepository>D:\work8\rep\repository</localRepository>

我理解的就是你这里设置的在哪,它就会给你导入到这个地址下你要求的位置.因为我这边是实际看领导帮我操作的,

二.在pom文件中引入jar包

<dependency>
    <groupId>com.zebra</groupId>
    <artifactId>ZSDK_API</artifactId>
    <version>v2.12.3782</version>
</dependency>
<dependency>
    <groupId>com.zebra</groupId>
    <artifactId>ZSDK_CARD_API</artifactId>
    <version>v2.12.3782</version>
</dependency>

注意:

  jar包所在路径不要带中文,不要带中文,不要带中文!

另外, 不通过这种方式直接放在项目目录下, 通过pom引用不导入maven仓库也是可以的. 如下图:

image-20220901111150418

这种方式我自己没有成功应用到,我没有正确使用对.

记录一下我自己实际工作场景:

(应用场景就是在公司中开发项目,需要使用到公司自己的jar包,如果领导只给你发了一个如图一一样的jar包,这句话说手动将jar包放入可能是领导给的是像本地仓库中的文件夹一样的,我这里不是,我这里就一个跟图一一样的jar包,所以无法直接引入)。

image-20220902105618277

无法直接引入是因为本地maven仓库需要有一级一级的目录

		<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.83</version>
        </dependency>

像fastjson里面还有好多其他文件,所以我们肯定是不能直接自己创建一个文件夹然后放进去,肯定要用到上面的命令.那样导入的包才是正确的.

image-20220901105055931

posted @ 2022-09-03 19:49  哩个啷个波  阅读(7720)  评论(0编辑  收藏  举报