当前位置: 首页 > news >正文

建设外贸类网站自己的电脑做服务区 网站

建设外贸类网站,自己的电脑做服务区 网站,呼和浩特做网站的,园林景观在线设计平台原文网址:maven--依赖的搜索顺序-CSDN博客 简介 本文介绍maven中依赖的搜索顺序。 依赖搜索顺序 maven项目使用的仓库的方式 中央仓库。 这是默认的仓库。对应url为:http://repo1.maven.org/maven2/镜像仓库。 通过 settings…

原文网址:maven--依赖的搜索顺序-CSDN博客

简介

本文介绍maven中依赖的搜索顺序。

依赖搜索顺序

maven项目使用的仓库的方式

  1. 中央仓库。            这是默认的仓库。对应url为:http://repo1.maven.org/maven2/
  2. 镜像仓库。            通过 settings.xml 中的 settings.mirrors.mirror 配置
  3. 全局profile仓库。  通过 settings.xml 中的 settings.repositories.repository 配置
  4. 项目仓库。            通过 pom.xml 中的 project.repositories.repository 配置
  5. 项目profile仓库。  通过 pom.xml 中的 project.profiles.profile.repositories.repository 配置
  6. 本地仓库

搜索顺序

local_repo > settings_profile_repo > pom_profile_repo > pom_repositories > settings_mirror > central

验证过程

1.准备测试环境

安装jdk、maven。

使用如下命令创建测试项目:

yes | mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-webapp  -DinteractiveMode=true -DgroupId=com.pollyduan -DartifactId=myweb -Dversion=1.0 -Dpackage=com.pollyduan

创建完成后,为了避免后续测试干扰,先执行一次compile。

cd myweb
mvn compile

最后,修改 pom.xml 文件,将 junit版本号改为 4.12 。我们要使用这个jar来测试依赖的搜索顺序。

2.默认情况

首先确保junit4.12不存在:

rm -rf ~/.m2/repository/junit/junit/4.12

默认情况下没有配置任何仓库,也就是说,既没改 $M2_HOME/conf/settings.xml 也没有添加 ~/.m2/settings.xml

执行编译,查看日志中拉取junit的仓库。

mvn compile...
Downloaded from central: https://repo.maven.apache.org/maven2/junit/junit/4.12/junit-4.12.pom (24 kB at 11 kB/s)
  • 可以看出,默认是从 central 中央仓库拉取的jar.

3.配置镜像仓库

id设为:settings_mirror

创建 ~/.m2/setttings.xml ,内容如下:

<settings><mirrors><mirror><id>settings_mirror</id><url>https://maven.aliyun.com/repository/public</url><mirrorOf>central</mirrorOf></mirror></mirrors>
</settings>

重新测试:

rm -rf ~/.m2/repository/junit/junit/4.12
mvn compile

在日志中查看下载依赖的仓库:

Downloaded from settings_mirror: https://maven.aliyun.com/repository/public/junit/junit/4.12/junit-4.12.pom (24 kB at 35 kB/s)
  • 可以看出,是从 settings_mirror 中下载的jar
  • 结论:settings_mirror 的优先级高于 central

4. 配置pom中的仓库

id设置为:pom_repositories

在 project 中增加如下配置:

<repositories><repository><id>pom_repositories</id><name>local</name><url>http://10.18.29.128/nexus/content/groups/public/</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository>
</repositories>
  • 由于我们改变了id的名字,所以仓库地址无所谓,使用相同的地址也不影响测试。

执行测试:

rm -rf ~/.m2/repository/junit/junit/4.12
mvn compile

在日志中查看下载依赖的仓库:

Downloaded from pom_repositories: http://10.18.29.128/nexus/content/groups/public/junit/junit/4.12/junit-4.12.pom (24 kB at 95 kB/s)

从显示的仓库id可以看出:

  • jar 是从 pom_repositories 中下载的。
  • pom_repositories 优先级高于 settings_mirror

5. 配置全局profile仓库

id设置为:settings_profile_repo

在 ~/.m2/settings.xml 中 settings 的节点内增加:

<profiles><profile><id>s_profile</id><repositories><repository><id>settings_profile_repo</id><name>netease</name><url>http://mirrors.163.com/maven/repository/maven-public/</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository></repositories></profile>
</profiles>

执行测试:

rm -rf ~/.m2/repository/junit/junit/4.12
mvn compile -Ps_profile

在日志中查看下载依赖的仓库:

Downloaded from settings_profile_repo: http://mirrors.163.com/maven/repository/maven-public/junit/junit/4.12/junit-4.12.pom (24 kB at 63 kB/s)

从显示的仓库id可以看出:

  • jar 是从 settings_profile_repo 中下载的。
  • settings_profile_repo 优先级高于 settings_mirror。
  • settings_profile_repo 优先级高于 pom_repositories 。

6. 配置项目profile仓库

id设置为:pom_profile_repo

<profiles><profile><id>p_profile</id><repositories><repository><id>pom_profile_repo</id><name>local</name><url>http://10.18.29.128/nexus/content/groups/public/</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository></repositories></profile>
</profiles>

执行测试:

rm -rf ~/.m2/repository/junit/junit/4.12
mvn compile -Ps_profile,p_profile
mvn compile -Pp_profile,s_profile

在日志中查看下载依赖的仓库:

Downloaded from settings_profile_repo: http://mirrors.163.com/maven/repository/maven-public/junit/junit/4.12/junit-4.12.pom (24 kB at 68 kB/s)

从显示的仓库id可以看出:

  • jar 是从 settings_profile_repo 中下载的
  • settings_profile_repo 优先级高于 pom_profile_repo

进一步测试:

rm -rf ~/.m2/repository/junit/junit/4.12
mvn compile -Pp_profile

在日志中查看下载依赖的仓库:

Downloaded from pom_profile_repo: http://10.18.29.128/nexus/content/groups/public/junit/junit/4.12/junit-4.12.pom (24 kB at 106 kB/s)

从显示的仓库id可以看出:

  • jar 是从 settings_profile_repo 中下载的
  • pom_profile_repo 优先级高于 pom_repositories

7. 最后确认本地仓库

~/.m2/repository。id设置为:local_repo

这不算测试了,只是一个结论,可以任意测试。

  • 只要~/.m2/repository中包含依赖,无论怎么配置,都会优先使用local本地仓库中的jar.
http://www.dtcms.com/a/413302.html

相关文章:

  • 电子政务网站建设背景微商城首页
  • MalWare分析(1)
  • 做数据的网站wordpress全站静态化
  • 常州知名网站公司微网站建设云帆网络
  • 学校网站开发方案模板花店网站建设方案
  • 临沭县住房和城乡建设局网站互联网运营
  • 胶州企业网站设计推荐的网站
  • 网站做seo需要些什么网站内容页面怎么做
  • 网站设计电商首页杭州网站开发培训
  • 重庆梁平网站建设哪家好上海专业网站建设报价单
  • 怎么做商业网站模板手机端网站的建设
  • 温州网站定制公司哪家好网站首页面设计
  • 济南刚刚发生的大事重庆百度快速优化
  • wordpress 建站对比做网站计入什么科目
  • 网站被抓取制作一号店网站
  • django 做网站wordpress 计时
  • 国外做的好的电商网站推荐湖北网站建设优化
  • 旅游网站内容晋城中英文网站建设
  • 宜昌微网站建设wordpress 资源分享
  • 毕业设计博客网站开发河南新冠防控
  • 校园网站建设成本兰州网站优化推广
  • 佛山免费网站设计宜昌网站建设平台
  • 移动app网站模板惠山网页设计
  • 高校网站建设运维体系问题外贸福步论坛登录
  • 好看的网站在哪里好找本地建站软件
  • 做动画合成的视频网站WordPress杂志模板
  • 网站建设名字兰州手机网站制作公司
  • 凡客诚品的配送方式seo搜索引擎优化是做什么的
  • 可信网站认证收费吗网络建站详情图
  • 贵州专业网站建设公司Wordpress盗版主题