热门标签 | HotTags
当前位置:  开发笔记 > Android > 正文

Maven生成及安装jar包到本地仓库的方法

这篇文章主要介绍了Maven生成及安装jar包到本地仓库的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

前言

本文将讲解如何通过Maven生成jar包并安装到本地仓库(包括将当前项目打包安装仓库到本地以及安装从外部获得的单独jar包),完成下面的操作需要安装Maven并了解一些基础的命令使用,想了解Maven的一些基础概念,可以查看我的这篇文章,此外本文就不自己从零构建一个Maven项目了,而是采用IDEA自带的模板来演示样例。

创建一个 Maven 项目

在正式讲解之前,我们先创建一个简单的Maven项目:

image-20201004183251000

image-20201004183703574

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

image-20201004185251975

生成 jar 包

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

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

image-20201004184955587

测试项目 jar 包

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

image-20201004190355268

然后在pom.xml中引入我们的自己生成jar包的坐标(详细信息见本文的第二张图):


 
  com.butterfly.maven
  demo
  1.0.0
 

然后就可以发现,可以正常使用我们刚刚项目生成的jar包:

image-20201004190538865

引入外部 jar 包到本地仓库

有时我们可能从外部或者非Maven项目得到一个外部的jar包,也想直接引入到本地仓库供Maven项目使用,而不是每次都要在项目中复制粘贴jar包,那么接下来的方法可能会对你有所帮助。

首先,我们需要先准备一个jar包文件,为了方便,我们就直接使用上述项目中生成的jar包,然后将jar复制到某个文件夹(我这里是复制到了D:/Temp/,并修改jar包名字为demo.jar):

image-20201004191116357

然后打开cmd,输入以下命令(为了方便,我进行了换行,在实际输入时需要连续,仅通过空格分割每一个配置):

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 的版本命名规范即可

然后我们就可以在本地仓库中,根据配置的groupIdartifactId找到我们引入的jar包:

image-20201004192200968

测试外部引入 jar 包

同样,我们需要现在pom.xml引入jar包的坐标,为了证明有效,需要把上文中的com.butterfly.maven的坐标移除:


 
  com.abc.maven
  demo
  1.0.0
 

然后进行测试,可以发现也可正常使用:

image-20201004192857930

小结

本文主要讲解了如何使用Maven生成项目jar包并引入到本地仓库以及将外部jar包引入到本地仓库,希望对你有所帮助。

到此这篇关于Maven生成及安装jar包到本地仓库的方法的文章就介绍到这了,更多相关Maven安装jar到本地仓库内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!


推荐阅读
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 解决JAX-WS动态客户端工厂弃用问题并迁移到XFire
    在处理Java项目中的JAR包冲突时,我们遇到了JaxWsDynamicClientFactory被弃用的问题,并成功将其迁移到org.codehaus.xfire.client。本文详细介绍了这一过程及解决方案。 ... [详细]
  • 本文探讨了在通过 API 端点调用时,使用猫鼬(Mongoose)的 findOne 方法总是返回 null 的问题,并提供了详细的解决方案和建议。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 本文介绍如何使用布局文件在Android应用中排列多行TextView和Button,使其占据屏幕的特定比例,并提供示例代码以帮助理解和实现。 ... [详细]
  • 本文探讨了在Windows Server 2008环境下配置Tomcat使用80端口时遇到的问题,包括端口被占用、多项目访问失败等,并提供详细的解决方法和配置建议。 ... [详细]
  • 本文详细介绍了Java Web应用程序中的过滤器(Filter)功能,包括其作用、实现方式及配置方法。过滤器可以在请求到达目标资源之前对其进行预处理,并在响应返回给客户端之前进行后处理。 ... [详细]
  • 本文介绍了多个关于JavaScript的书籍资源、实用工具和编程实例,涵盖从入门到进阶的各个阶段,帮助读者全面提升JavaScript编程能力。 ... [详细]
  • 分享一个简化版的Silverlight链接图项目:Link Map Simplified
    本文介绍了一个使用Silverlight开发的可视化工具,主要用于展示和操作复杂的实体关系图(Graph)。该工具在犯罪调查系统中得到了广泛应用,帮助用户直观地获取和理解相关信息。 ... [详细]
  • 探讨如何从数据库中按分组获取最大N条记录的方法,并分享新年祝福。本文提供多种解决方案,适用于不同数据库系统,如MySQL、Oracle等。 ... [详细]
  • 本文介绍了Android开发中Intent的基本概念及其在不同Activity之间的数据传递方式,详细展示了如何通过Intent实现Activity间的跳转和数据传输。 ... [详细]
  • 优化 Android 按钮状态下的背景和文本颜色变化
    本文介绍如何通过 Android 的 Selector 实现按钮在不同状态下(如按压)的背景和文本颜色动态变化。我们将详细讲解实现步骤,并提供完整的代码示例。 ... [详细]
  • 本文详细介绍超文本标记语言(HTML)的基本概念与语法结构。HTML是构建网页的核心语言,通过标记标签描述页面内容,帮助开发者创建结构化、语义化的Web页面。 ... [详细]
author-avatar
你的念头_780
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有