Java打包时,本地仓库有jar 包,Maven打包却还去远程拉取

简介: Maven打包时若因网络或权限问题导致依赖下载失败,即使手动添加jar包仍报错,可删除本地仓库对应文件夹下的 `_remote.repositories` 和 `.lastUpdated` 文件后重新打包。常用命令包括 `mvn clean`、`mvn clean package`,以及跳过测试的 `-DskipTests` 或 `-Dmaven.test.skip=true` 参数,提升打包效率。

问题描述

在日常开发工作中,总会用到Maven 打包的场景,在maven 打包时,理论上对于本地不存在的包,Maven 会自动从远程拉取指定版本号的最新包。如果本地存在包,Maven 则不会从远程拉取指定版本号的包。但是在实际工作中,有这样一个场景:通过Maven 从远程仓库拉取 jar 包时受限于种种原因(权限、网络等)不能拉取,这个时候通过其他方式(从别的同事那里拷贝、其他途径下载好jar包)已经获取到对应的 jar 包,放入Maven 仓库后,Maven 打包时仍然提示找不到包或者没有权限问题。

问题处理

当遇到这种问题时,那么可以将你本地仓库依赖包中 jar 包的文件夹下面的_remote.repositories 和  以.lastUpdated结尾的文件 的文件删除,删除之后再次重新通过Maven 打包命令打包就可以了

image.png

其他命令

这里我们再说一下 Maven 的一些日常命令。

删除本地历史的打包文件

mvn clean

执行打包命令

mvn clean package

当本地项目有Test 文件的话,在打包执行命令时可以指定跳过 Test 文件。

跳过测试执行,但编译测试类:使用 -DskipTests 参数

mvn clean package -DskipTests

跳过测试的编译和执行:使用 -Dmaven.test.skip=true 参数。这会完全忽略测试相关环节,打包速度更快

mvn clean package -Dmaven.test.skip=true

好了,经常用的Maven 打包命令基本上就上面两种情况了。

相关文章
|
Java
【Java基础】Java8 使用 stream().sorted()对List集合进行排序
【Java基础】Java8 使用 stream().sorted()对List集合进行排序
964 0
|
2月前
|
JSON Java 数据格式
Feign 复杂对象参数传递避坑指南:从报错到优雅落地
本文深入剖析了SpringCloud Feign在复杂对象参数传递中的常见问题及解决方案。文章首先分析了GET请求传递复杂对象失败的底层原因,包括HTTP规范约束和Feign参数解析逻辑。针对GET场景,提供了四种解决方案:@SpringQueryMap(首选)、手动拆分属性+@RequestParam、MultiValueMap封装和自定义FeignEncoder,详细比较了各方案的优缺点和适用场景。对于POST场景,推荐使用@RequestBody注解传递JSON请求体。
682 6
|
12月前
|
消息中间件 Java Kafka
Spring Boot整合kafka
本文简要记录了Spring Boot与Kafka的整合过程。首先通过Docker搭建Kafka环境,包括Zookeeper和Kafka服务的配置文件。接着引入Spring Kafka依赖,并在`application.properties`中配置生产者和消费者参数。随后创建Kafka配置类,定义Topic及重试机制。最后实现生产者发送消息和消费者监听消息的功能,支持手动ACK确认。此方案适用于快速构建基于Spring Boot的Kafka消息系统。
1800 7
|
存储 Java 文件存储
🗄️Spring Boot 3 整合 MinIO 实现分布式文件存储
本文介绍了如何基于Spring Boot 3和MinIO实现分布式文件存储。随着应用规模扩大,传统的单机文件存储方案难以应对大规模数据和高并发访问,分布式文件存储系统成为更好的选择。文章详细讲解了MinIO的安装、配置及与Spring Boot的整合步骤,包括Docker部署、MinIO控制台操作、Spring Boot项目中的依赖引入、配置类编写及工具类封装等内容。最后通过一个上传头像的接口示例展示了具体的开发和测试过程,强调了将API操作封装成通用工具类以提高代码复用性和可维护性的重要性。
2582 7
🗄️Spring Boot 3 整合 MinIO 实现分布式文件存储
|
存储 XML Java
【Maven技术专题】「入门到精通」教你如何使用Maven中引用依赖本地Jar包,并进行打包输出
【Maven技术专题】「入门到精通」教你如何使用Maven中引用依赖本地Jar包,并进行打包输出
3072 0
|
存储 算法 BI
xxljob本地运行
xxljob本地运行
1315 4
xxljob本地运行
|
前端开发 Java Spring
【非降版本解决】高版本Spring boot Swagger 报错解决方案
【非降版本解决】高版本Spring boot Swagger 报错解决方案
1301 3
|
Java Windows
解决IDEA .properties文件中文乱码的问题
解决IDEA .properties文件中文乱码的问题
4992 0
解决IDEA .properties文件中文乱码的问题
idea启动java服务报错OutOfMemoryError: GC overhead limit exceeded解决方法
idea启动java服务报错OutOfMemoryError: GC overhead limit exceeded解决方法
8050 3
|
消息中间件 存储 缓存
一文快速掌握高性能内存队列Disruptor
`Disruptor`是LMAX公司开源的高性能内存消息队列,单线程处理能力可达600w订单/秒。本文从使用和设计角度探讨这款Java消息队列。作者sharkChili是Java开发者,CSDN博客专家,Java Guide项目维护者。文章介绍了Disruptor的基础使用,包括前置步骤、消息模型、消息处理器配置、生产者实现,并展示了效果。同时,文章详细解析了Disruptor的工作流程和高效原因,如无锁操作、分支预测和缓存填充。最后,作者提供相关资源链接并邀请读者加入交流群。
3795 0