一、配置代理
首先,需要本地开启代理入口,如图。
这个跟你使用代理软件有关。像我使用的是qv2ray。
其次,idea配置代理,如图。
1.1 idea配置代理
打开Settings,如图
1.2 maven配置代理
maven配置代理,修改settings.xml,如图。
之后,就能正常且快速的拉取外网依赖咯。
1.3 idea依赖索引问题
在idea的maven项目中,在添加dependency时,不会自动进行提示。可以通过更新索引来进行解决。
二、maven中央仓库记录
2.1 仓库地址
2.2 settings.xml指定仓库
给出一个简单示例,具体的仓库配置可以直接参考2.3
1 2 3 4 5 6 7 8 9 10 11 12
| <mirror> <id>mirrorId</id> <mirrorOf>repositoryId</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://my.repository.com/repo/path</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </mirror>
|
2.3 pom.xml指定仓库
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
| <repositories> <repository> <id>alibaba</id> <name>alibaba-maven-central</name> <url>https://maven.aliyun.com/repository/central</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> <repository> <id>tencent</id> <name>tencent-maven-central</name> <url>http://mirrors.cloud.tencent.com/nexus/repository/maven-public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> <repository> <id>central2</id> <name>apache-maven-central</name> <url>https://repo.maven.apache.org/maven2/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> <repository> <id>central</id> <name>maven-central</name> <url>https://repo1.maven.org/maven2/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> <repository> <id>GIS</id> <name>maven-GIS</name> <url>https://repo.osgeo.org/repository/release/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories>
<pluginRepositories> <pluginRepository> <id>alibaba</id> <name>alibaba-maven-central</name> <url>https://maven.aliyun.com/repository/central</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </pluginRepository> <pluginRepository> <id>central</id> <name>maven-central</name> <url>https://repo1.maven.org/maven2/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </pluginRepository> </pluginRepositories>
|
2.4 验证所使用的仓库
就比如引入了工具包
1 2 3 4 5
| <dependency> <groupId>top.meethigher</groupId> <artifactId>ftp-client-pool</artifactId> <version>1.1</version> </dependency>
|
打开这个工具包,查看下面的_remote.repositories
中使用的仓库id
2.5 内网迁移包注意事项
由于通过互联网下载下来的依赖jar包,都携带了_remote.repositories
这个文件,如果后续更新什么的还会通过这里面指定的仓库更新。
故我们在迁移到内网时,需要将_remote.repositories
删除掉。
以下放置windows与linux系统的批量删除命令
windows.bat
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| @echo off setlocal enabledelayedexpansion
set "file_to_delete=_remote.repositories"
for /r %%i in (*) do ( set "file=%%~nxi"
if "!file!"=="%file_to_delete%" ( echo delete "%%i" del "%%i" ) )
echo delete successfully pause
|
linux.sh
1 2 3 4 5 6
| #!/bin/bash
directory="$PWD"
find "$directory" -name '_remote.repositories' -type f -delete echo "delete successfully"
|