maven-build-downloading
1. 场景描述
maven库用的是公司私服和阿里云结合的方式(maven多仓库配置),本项目maven依赖的有其他项目组的jar包(单点登录),但是天有不测风云,依赖单点登录的好几个jar包,在编译(build)的时候一直Downloading,卡死了。
2. 解决方案
2.1 问题定位
以前好好的,突然不行了,首先肯定先找jar包提供方,然而单点登录项目组回复N久没动了,看了maven库jar包是没变化,里面的日期也没变化,但是几个同事都不能更新了,肯定是私服上的jar包有变化了,看了下私服上md5、sha1这些好像变化了。。但是也不确定,也不好说,还是看看怎么解决吧。
2.2 解决方案
问题原因是服务器配置文件跟本地文件进行对比(maven-metadata.xml),通过里面的时间戳进行对比,本地日期大于等于服务器jar包日期,不更新jar包;服务器日期大于本地库日期,更新jar包,问题就出在maven-metadata这个问题文件上了。
两个解决方案
2.2.1 更改setting文件。
本人maven配置文件在:E:\m2下,打开文件,找到jar包对应的仓库。
<updatePolicy>always</updatePolicy>
-----------------更改为----------
<updatePolicy>never</updatePolicy>
updatePolicy有三个参数:aways:每次,never:从不,daily:每日,这样就可以编译成功了。
2.2.2 重新下载
当Downloading卡住了,首先停止服务,去本地maven仓库(本人:E:\m2\repository)下面找到该jar包对应文件夹,在文件夹里面会有个lock后缀的文件,就是在比对过程中出问题了,文件锁住了,删除了该lock文件,但是测试了下不行,下载还是会有问题,要删除了整个文件夹,例如“E:\m2\repository\com\oracle\ojdbc6\11.2.0.3,把文件夹11.2.0.3整个给删除了,重新编译下载,因为整个文件夹都没有了,maven编译的时候就会去下载该jar包,相当于新的下载,不会去比对,这样就可以直接通过了。
2.2.3 结论
建议采用第二种,原因:
(1)直接,快速,直接把jar包对应的文件夹删除了,重新下载就好了。
(2)第一种方案会存在问题,假如外围系统jar包正常更新了,版本没变化,但是增加了新的方法,这样就更新不到新的方法了,会有问题。
I’m 「软件老王」,如果觉得还可以的话,关注下呗,后续更新秒知!欢迎讨论区、同名公众号留言交流!
maven-build-downloading的更多相关文章
- run as maven build时报错
eclipse中使用maven插件的时候,运行run as maven build的时候报错 -Dmaven.multiModuleProjectDirectory system propery is ...
- maven:log4j:WARN No appenders could be found for logger (loggerInfo).或者maven build error:org.apache.maven.lifecycle.LifecycleExecutionExceptio
maven在build构建时,加载资源文件时需要配置资源文件插件: 1,在pom.xml文件中加入 <build> <finalName>${project.build.tar ...
- 在eclipse如何删除无效的maven build
在Eclipse的maven项目中,点击一次“maven build...”明明没有配置,它也就会产生一个maven build,那么如何删除这些无效的配置呢?
- Maven Build Profiles--reference
What is Build Profile? A Build profile is a set of configuration values which can be used to set or ...
- Maven Build Life Cycle--reference
What is Build Lifecycle? A Build Lifecycle is a well defined sequence of phases which define the ord ...
- No compiler is provided in this environment. --Maven build失败
今天,maven build 失败了, 遇到下面的问题 经过查找,通过这个大佬的blog( https://blog.csdn.net/lslk9898/article/details/738367 ...
- Spring Boot-右键maven build成功但是直接运行main方法出错的解决方案
1.代码就一个Controller,从官网复制过来的,如下 package com.springboot.controller; import org.springframework.boot.Spr ...
- 转:eclipse maven build、maven install 等区别
原文地址:eclipse maven build.maven install 等区别
- maven build的常用生命周期
常用的maven build goals: validate - validate the project is correct and all necessary information is av ...
- eclipse中的maven build、maven clean、maven install和maven test的区别
eclipse中的maven build.maven clean.maven install和maven test的区别 https://www.cnblogs.com/Marydon20170307 ...
随机推荐
- react 项目全家桶构件流程
资源:create-react-app.react.react-dom.redux.react-redux.redux-thunk.react-router-dom.antd-mobile/antd. ...
- docker命令总结
用 docker pull 拉取镜像 root@lishichao-virtual-machine:~# docker pull hello-world Using default tag: late ...
- centos7搭建基于SAMBA的网络存储
学习目标: 通过本实验理解Linux系统下SAMBA服务器和客户端的配置,实现客户机可自动挂载服务端的共享存储. 操作步骤: 1. SAMBA服务器搭建 2. SAMBA客户端配置 参考命令: ...
- 从0x00到0xFF的含义
对于二进制来说,8位二进制我们称之为一个字节,二进制的表达范围值是从0b00000000-0b11111111,而我们程序中用十六进制表示的时候就是从0x00到0xFF,这里教大家一个二进制转换十进制 ...
- 机器学习之使用Python完成逻辑回归
一.任务基础 我们将建立一个逻辑回归模型来预测一个学生是否被大学录取.假设你是一个大学系的管理员,你想根据两次考试的结果来决定每个申请人的录取机会.你有以前的申请人的历史数据,你可以用它作为逻辑回归的 ...
- 源码阅读 - java.util.concurrent (四)CyclicBarrier
CyclicBarrier是一个用于线程同步的辅助类,它允许一组线程等待彼此,直到所有线程都到达集合点,然后执行某个设定的任务. 举个例子:几个人约定了某个地方集中,然后一起出发去旅行.每个参与的人就 ...
- [常用命令]Git命令
取得Git仓库 初始化一个版本仓库 git init Clone远程版本库 git clone https://github.com/yhj167/yhj167.github.io.git 添加远程版 ...
- Java实现异步调用
一.创建线程 @Test public void test0() throws Exception { System.out.println("main函数开始执行"); Thre ...
- Innovus Lab和Lab Guide下载地址 | Innovus教程 - Flow系列 - 数据准备
本文转自:自己的微信公众号<集成电路设计及EDA教程> <Innovus Lab和Lab Guide下载地址 | Innovus教程 - Flow系列 - 数据准备> ...
- win10win7office系列激活工具 KMSAuto Net 2016 v1.5.4 绿色便携版
下载地址:点我 KMSpico又称KMS激活工具,KMSpico是目前成功且经常更新的Windows激活工具,可以激活任何版本的window系统和任何版本的Office软件,即使是win8和offic ...