我们开发涉密项目的时,需要在内网的环境下调试程序,这时候一个比较头疼的问题是无法下载相关的maven依赖,导致项目无法编译启动。怎么解决这个问题呢?
第一步,将相关的maven依赖在外网的环境中下载好,然后将整个repository打包后拷贝到内网的机器上并解压:
第二步,将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。
这个时候就已经完成maven的离线配置了。如果还不行可以刷新一下maven的依赖,点击reimport,然后依赖就可以导入进来了。如果还是红色的线,可以尝试点击启动项目,看是不是报错,有的时候可能是没有及时刷新导致的。
另外分享一个maven离线打包的命令:mvn -o,此命令是在maven打包的时候不去下载仓库的依赖,非常有用。
mvn clean package -o -DskipTest // 或者使用这种方式跳过测试 mvn clean package -o -Dmaven.test.skip=true
总结
到此这篇关于没有外网,IDEA如何离线使用maven仓库?的文章就介绍到这了,更多相关IDEA离线使用maven仓库内容请搜索面圈教程以前的文章或继续浏览下面的相关文章希望大家以后多多支持面圈教程!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:mianshige#126.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。