没有外网IDEA离线使用maven仓库的方法

所属分类: 软件编程 / java 阅读数: 140
收藏 0 赞 0 分享

我们开发涉密项目的时,需要在内网的环境下调试程序,这时候一个比较头疼的问题是无法下载相关的maven依赖,导致项目无法编译启动。怎么解决这个问题呢?

??

第一步,将相关的maven依赖在外网的环境中下载好,然后将整个repository打包后拷贝到内网的机器上并解压:

repo

第二步,将maven的配置文件settings.xml拷贝一份出来,在localRepository中配置本地仓库的地址。例如我刚才拷贝出来的仓库放在D:/repository下,然后配置下本地的镜像,本地仓库的地址一定要配置正确。

<?xml version="1.0" encoding="UTF-8"?>
 
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
 
 <localRepository>D:/repository</localRepository>
 
 <mirrors>
 
	 <mirror>
      <id>central</id>
      <name>central</name>
      <!-- 将镜像地址设置为本地maven地址 -->
      <url>file://D:/repository</url>
      <mirrorOf>*</mirrorOf>
    </mirror>
 </mirrors>
</settings>

第三步,打开IDEA的maven设置:file->settings搜索maven。注意要将maven设置为Work offline(离线模式),然后将User settings file配置成上一步拷贝的settings.xml的地址,点击OK。

offline

这个时候就已经完成maven的离线配置了。如果还不行可以刷新一下maven的依赖,点击reimport,然后依赖就可以导入进来了。如果还是红色的线,可以尝试点击启动项目,看是不是报错,有的时候可能是没有及时刷新导致的。

另外分享一个maven离线打包的命令:mvn -o,此命令是在maven打包的时候不去下载仓库的依赖,非常有用。

mvn clean package -o -DskipTest
// 或者使用这种方式跳过测试
mvn clean package -o -Dmaven.test.skip=true
更多精彩内容其他人还在看

Java实现一个简单的文件上传案例示例代码

这篇文章主要介绍了Java实现一个简单的文件上传案例,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

详解在spring中使用JdbcTemplate操作数据库的几种方式

这篇文章主要介绍了详解在spring中使用JdbcTemplate操作数据库的几种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

java中的switch case语句使用详解

这篇文章主要介绍了java中的switch case语句使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

深入理解Java 线程池

这篇文章主要介绍了Java 线程池的相关资料,文中讲解非常细致,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

详解mybatis #{}和${}的区别、传参、基本语法

这篇文章主要介绍了mybatis #{}和${}的区别、传参、基本语法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

MyBatis 中 ${}和 #{}的正确使用方法(千万不要乱用)

这篇文章主要介绍了MyBatis 中 ${}和 #{}的正确使用方法,本文给大家提到了MyBatis 中 ${}和 #{}的区别,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

详解Mybatis中的 ${} 和 #{}区别与用法

这篇文章主要介绍了Mybatis中的 ${} 和 #{}区别与用法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Maven安装过程图文详解

这篇文章主要介绍了Maven安装过程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
收藏 0 赞 0 分享

SpringBoot登录拦截配置详解(实测可用)

这篇文章主要介绍了SpringBoot登录拦截配置详解(实测可用),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

JAVA 内存溢出案例汇总

这篇文章主要介绍了JAVA 内存溢出案例的汇总,文中讲解非常细致,帮助各位工作学习时避免内存溢出,感兴趣的朋友可以了解下
收藏 0 赞 0 分享
查看更多