Apache Maven 仓库使用的机制及基本配置(2)
程序员文章站
2022-06-18 19:53:57
...
***传统依赖目标jar的方式:***
访问目标官网-->下载目标jar文件-->添加该目标jar到项目中并build path-->版本升级需要重复操作
***maven管理方式:***
给定目标jar的坐标(groupId、artifactId、version)
-->maven在本地maven仓库中查找,若有就建立依赖,
若没有就去maven*仓库中查找并自动完成下载并存放在本地maven仓库中
(如果没有指定version参数就自动下载仓库中最新版本)
(如果配置了其它*仓库,当然就自动到指定的地方去搜索并下载,ex:阿里*仓库等)
***配置本地仓库***
在maven的安装目录中的conf目录下有settings.xml文件(D:\360Cloud\maven\Tools\apache-maven-3.5.0-bin\conf\settings.xml)
line52:
Default: ${user.home}/.m2/repository
默认的本地仓库位置是:
C:\Users\JACK\.m2\repository
line:53:
手动配置 <localRepository>D:\360Cloud\maven\Repository</localRepository>
***配置*仓库***
默认的 Maven *存储库 – http://repo1.maven.org/maven2/
也可以配置一个自己钟爱的远程*库
在maven的settings.xml文件里的mirrors节点,添加如下子节点:
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
或者直接在profiles->profile->repositories节点,添加如下子节点:
<repository>
<id>nexus-aliyun</id>
<name>Nexus aliyun</name>
<layout>default</layout>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
***代理的配置***
如果公司不允许直接访问外网,这时候,我们需要为maven配置一个代理服务器,才能正常从外部远程仓库中下载依赖。
要先运行telnet 192.168.10.110 8888来检查该地址的该端口是否畅通
在settings.xml文件中配置 proxies节点:
<proxies>
<proxy>
<id>my-proxy</id>
<active>true</active>
<protocol>http</protocol>
<host>192.168.10.110</host>
<port>8888</port>
<!--
<username>lg</username>
<password>123456</password>
<nonProxyHosts>repository.mycom.com|*.google.com</nonProxyHosts>
-->
</proxy>
</proxies>
proxies下可以有多个proxy元素,如果你声明了多个proxy元素,则默认情况下第一个被**的proxy会生效。
这里声明 了一个id为my-proxy的代理,
active的值为true表示**该代理,
protocol表示使用的代理协议,这里是http。
host和port是指定正确的主机名(host元素)和端口(port元素)
注释掉的username、password、nonProxyHost 几个元素,当你的代理服务需要认证时,就需要配置username和password。
nonProxyHost元素用来指定哪些主机名不需要代理,可以 使用 | 符号来分隔多个主机名。
此外,该配置也支持通配符,如*.google.com表示所有以google.com结尾的域名访问都不要通过代理。