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 打包命令基本上就上面两种情况了。

相关文章
npm WARN deprecated core-js@2.6.12 core-js@<3.3 is no longer maintained and not recommended for usa
npm WARN deprecated core-js@2.6.12 core-js@<3.3 is no longer maintained and not recommended for usa
1094 0
|
1月前
|
安全 Java Unix
UUID v7 一文详解
UUID v7是RFC 9562定义的新型有序UUID,结合时间戳与随机数,兼具全局唯一性、时间有序性和隐私安全,适用于数据库主键与分布式系统,显著提升索引性能与系统效率。
|
前端开发
Layui 内置方法 - layer.load(加载层)
Layui 内置方法 - layer.load(加载层)
2523 0
|
2月前
|
人工智能 运维 Java
Spring AI Alibaba Admin 开源!以数据为中心的 Agent 开发平台
Spring AI Alibaba Admin 正式发布!一站式实现 Prompt 管理、动态热更新、评测集构建、自动化评估与全链路可观测,助力企业高效构建可信赖的 AI Agent 应用。开源共建,现已上线!
3794 53
|
4月前
|
人工智能 JSON API
Kimi K2,开源万亿参数大模型
Kimi K2是由月之暗面推出的全球首个开源万亿参数MoE模型,具备强大的工具调用、复杂推理与自主决策能力。该模型可通过MaaS平台快速调用,无需编码,最快5分钟即可部署,体验成本低至0元。通过Cherry Studio客户端,用户可便捷配置API密钥并调用模型,同时支持MCP功能,实现网页内容抓取等扩展能力。操作简单、功能强大,适合企业与开发者高效应用。
|
安全 前端开发 Java
SpringBoot接口如何设计防篡改、防重放攻击
Spring Boot 防篡改、防重放攻击本示例主要内容请求参数防止篡改攻击基于timestamp方案,防止重放攻击使用swagger接口文档自动生成API接口设计API接口由于需要供第三方服务调用,所以必须暴露到外网,并提供了具体请求地址和请求参数,为了防止被别有用心之人获取到真实请求参数后再次发起请求获取信息,需要采取很多安全机制。
4615 0
|
1月前
|
数据采集 存储 NoSQL
用Redis实现爬虫URL去重与队列管理:从原理到实战的极简指南
本文详解Redis在爬虫中的核心应用:利用SET与BloomFilter实现高效URL去重,结合LIST、BRPOP与ZSET构建高性能任务队列,并支持分布式协作。通过代码示例与实战优化技巧,助你打造亿级规模、高并发的智能爬虫系统,显著提升抓取效率与稳定性。
218 0
|
6月前
|
安全 Java 编译器
JD-GUI,java反编译工具及原理: JavaDecompiler一个Java反编译器
Java Decompiler (JD-GUI) 是一款由 Pavel Kouznetsov 开发的图形化 Java 反编译工具,支持 Windows、Linux 和 Mac Os。它能将 `.class` 文件反编译为 Java 源代码,支持多文件标签浏览、高亮显示,并兼容 Java 5 及以上版本。JD-GUI 支持对整个 Jar 文件进行反编译,可跳转源码,适用于多种 JDK 和编译器。其原理基于将字节码转换为抽象语法树 (AST),再通过反编译生成代码。尽管程序可能带来安全风险,但可通过代码混淆降低可读性。最新版修复了多项识别错误并优化了内存管理。
3416 1
|
11月前
|
Java jenkins 持续交付
Jenkins集成Maven
通过以上步骤,可以在Jenkins中成功集成Maven,实现自动化构建和部署。通过定时构建、SCM轮询等方式,可以确保代码库中的最新变更能够及时构建和测试,提高开发效率和代码质量。这种集成方式在实际项目中具有广泛的应用前景,能够显著提升团队的协作效率。
309 8
|
消息中间件 JSON Java
Spring Boot、Spring Cloud与Spring Cloud Alibaba版本对应关系
Spring Boot、Spring Cloud与Spring Cloud Alibaba版本对应关系
29277 0