时间:2020-10-06来源:www.pcxitongcheng.com作者:电脑系统城
前言
本文将讲解如何通过Maven生成jar包并安装到本地仓库(包括将当前项目打包安装仓库到本地以及安装从外部获得的单独jar包),完成下面的操作需要安装Maven并了解一些基础的命令使用,想了解Maven的一些基础概念,可以查看我的这篇文章,此外本文就不自己从零构建一个Maven项目了,而是采用IDEA自带的模板来演示样例。
创建一个 Maven 项目
在正式讲解之前,我们先创建一个简单的Maven项目:


然后在src/main/java/目录下,创建一个util/Demo.java文件:

生成 jar 包
然后在项目根目录下执行mvn clean install命令,当然也可以直接使用IDEA集成的Maven插件直接点击:

然后就可以在自己的本地仓库(我的本地仓库位置是D:/jar/)中根据groupId和artifactId来在对应文件夹中找到自己项目生成的jar包:

测试项目 jar 包
在测试我们刚才生成的jar包是否可以正常使用之前,我们先新建一个Maven项目,方法同上,并新建一个SumTest.java来做测试准备,为了方便,就不使用junit了:

然后在pom.xml中引入我们的自己生成jar包的坐标(详细信息见本文的第二张图):
| 1 2 3 4 5 6 7 |
<dependencies> <dependency> <groupId>com.butterfly.maven</groupId> <artifactId>demo</artifactId> <version>1.0.0</version> </dependency></dependencies> |
然后就可以发现,可以正常使用我们刚刚项目生成的jar包:

引入外部 jar 包到本地仓库
有时我们可能从外部或者非Maven项目得到一个外部的jar包,也想直接引入到本地仓库供Maven项目使用,而不是每次都要在项目中复制粘贴jar包,那么接下来的方法可能会对你有所帮助。
首先,我们需要先准备一个jar包文件,为了方便,我们就直接使用上述项目中生成的jar包,然后将jar复制到某个文件夹(我这里是复制到了D:/Temp/,并修改jar包名字为demo.jar):

然后打开cmd,输入以下命令(为了方便,我进行了换行,在实际输入时需要连续,仅通过空格分割每一个配置):
| 1 2 3 4 5 6 |
mvn install:install-file -Dfile=D:\temp\demo.jar # 配置 jar 包所在位置 -DgroupId=com.abc.maven # 配置生成 jar 包对应的 groupId,为了区别上文中的 groupId, 这里做了修改 -DartifactId=demo # 配置生成 jar 包对应的 artifactId -Dpackaging=jar # 配置文件的打包方式, 这里自然应该是 jar -Dversion=1.0.0 # 配置版本号, 这里只要符合 Maven 的版本命名规范即可 |
然后我们就可以在本地仓库中,根据配置的groupId和artifactId找到我们引入的jar包:

测试外部引入 jar 包
同样,我们需要现在pom.xml引入jar包的坐标,为了证明有效,需要把上文中的com.butterfly.maven的坐标移除:
| 1 2 3 4 5 6 7 |
<dependencies> <dependency> <groupId>com.abc.maven</groupId> <artifactId>demo</artifactId> <version>1.0.0</version> </dependency></dependencies> |
然后进行测试,可以发现也可正常使用:

小结
本文主要讲解了如何使用Maven生成项目jar包并引入到本地仓库以及将外部jar包引入到本地仓库,希望对你有所帮助。
到此这篇关于Maven生成及安装jar包到本地仓库的方法的文章就介绍到这了,更多相关Maven安装jar到本地仓库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
2023-03-18
如何使用正则表达式保留部分内容的替换功能2023-03-18
gulp-font-spider实现中文字体包压缩实践2023-03-18
ChatGPT在前端领域的初步探索最近闲来无事,在自己的小程序里面集成了一个小视频的接口,但是由于小程序对于播放视频的限制,只能用来做一个demo刷视频了,没办法上线体验。小程序播放视频限制最多10个,超出可能...
2023-03-18
Vue.js、React和Angular对比 以下是Vue.js的代码示例: 以下是React的代码示例: 以下是Angular的代码示例:...
2023-03-18