借鉴网上同志的文章总结如下
一、需求说明
在内网开发中,由于不能上网的情况下,需要离线使用一些下载好的maven依赖仓库,这个时候需要一些特殊的配置,才能正常的使用。
二、配置步骤
1、下载并配置maven环境
系统环境
MAVEN_HOME:C:\MyselfApplication\WinSoft\Maven\apache-maven-3.5.0
Path:%MAVEN_HOME%\bin
查看是否配置成功:mvn -v
2、修改配置文件setting.xml,位于maven安装目录conf下
<--本地仓库-->
<localRepository>C:\MyselfApplication\WinSoft\Maven\maven_localRepository</localRepository>
<--离线工作开启-->
<offline>true</offline>
<--将仓库指向本地-->
<mirrors>
<mirror>
<id>central</id>
<mirrorOf>*</mirrorOf>
<name>central</name>
<url>file://C:\MyselfApplication\WinSoft\Maven\maven_localRepository</url>
</mirror>
</mirrors>
3、删除文件
每次在更新maven项目的时候,每一个jar包路径下的_remote.repositories文件都会同setting.xml中设置的仓库地址id进行判断,如果没有匹配,会自动更新该jar包的相关文件,如果未联网则会出现jar无法发现的错误,导致即使jar存在,maven项目也无法使用该jar的情况。如果使用公司的内网仓库,_remote.repositories文件变为_maven.repositories。Maven在下载仓库中找不到相应资源时,会生成一个.lastUpdated为后缀的文件。如果这个.lastUpdated文件存在,那么即使换一个有资源的仓库后,Maven依然不会去下载新资源。
-
删除remote.repositories文件;将maven仓库下新拷贝过来的依赖文件夹下面的_remote.repositories文件进行删除,否则还是会从远程仓库中找;
-
windows删除命令:for /r %i in (_remote.repositories) do del %i
-
删除.lastUpdated文件
将上面指令换成.lastUpdated即可
有时候在你很多操作之后可能还会生成这些文件,记得排查! ! !
4、IDEA配置
maven构建开启离线模式及setting设置中勾选该按钮