说明
有时候我们项目需要引用中央仓库没有的第三方jar包或者自己写的jar包时,但是又需要用maven管理项目时,那么我们怎么样像引进中央仓库jar包的形式(dependency)引入我们自己的jar包呢?这样就需要我们自己手动把我们的jar包打入到本地仓库中,如果其他和你合作的同事也需要用,那么还需要把它放在公司私服中。博主在网上找了一些例子,但是发现他们写的基本大同小异,而且很多关键操作都忽略了。所以很多小伙伴也是摸着石头过河,好多小伙伴也是走了很多弯路才最终成功的。博主写这篇博客就是想绕过小伙伴们踩过的哪些坑,将操作的详细步骤和快捷方式贴出来,节约大家的时间。
打包命令
mvn install:install-file -Dfile=<jar包的位置> -DgroupId=<设置groupId> -DartifactId=<设置artifactId> -Dversion=<设置版本号> -Dpackaging=jar
这个是固定的,无需我多说,其中:-DgroupId和-DartifactId的作用是指定了这个jar包在repository的安装路径,只是用来告诉项目去这个路径下寻找这个名称的jar包。比如我们看一个中央仓库的例子:
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.3</version>
</dependency>
再看它的文件层级目录:
详细操作步骤
比如说我们自建一个maven的dependency的约束,瞎建吧
<dependency>
<groupId>com.demo.abc</groupId>
<artifactId>dfs</artifactId>
<version>1.0.0</version>
</dependency>
1.准备目标jar包,cmd命令快速进入该jar包路径(快捷键“shift+右键”)
注意:jar包可以在任意一个文件夹目录下面,不要放在分区的根目录,也不要自己去创建maven中的相关目录。
在空白处(注意,一定要在盘符空白处)按住“shift+右键”,选择“在此处打开命令窗口”,进入到cmd命令窗口中,这里不好截图,就不贴出来了。。。打开的效果图如下所示:
2.输入打jar包命令,进行打包
执行这个命令,就是指把demo.jar安装到D:\MavenRepository\com\demo\abc\dfs\1.0.0\dfs-1.0.0.jar目录下。好了,大功告成!我们现在可以去本地仓库查看我们打的jar包了
注意,最终生成jar包的名字是artifactId-version.jar(dfs-1.0.0.jar)包的形式,与我们初始上传的jar包名称(demo.jar)无关
生成的dfs-1.0.0.pom文件:
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>com.demo.abc</groupId>
<artifactId>dfs</artifactId>
<version>1.0.0</version>
<description>POM was created from install:install-file</description>
</project>
jar包引用