Dragon's Life
坚持,完成每一个目标!

版权声明:本文为博主原创文章,未经博主允许不得转载。
在Maven中,任何一个依赖、插件或者项目构建的输出,都可以称之为构件。
Maven在某个统一的位置存储所有项目的共享的构件,这个统一的位置,我们就称之为仓库。(仓库就是存放依赖和插件的地方)
任何的构件都有唯一的坐标,Maven根据这个坐标定义了构件在仓库中的唯一存储路径,
解读Maven在仓库中的存储路径:
1.基于groupId准备路径,将句点分隔符转成路径分隔符,就是将 "." 转换成 "/" ; example: org.testng --->org/testng
2.基于artifactId准备路径,将artifactId连接到后面:org/testng/testng
3.使用version准备路径,将version连接到后面:org/testng/testng/5.8
4.将artifactId于version以分隔符连字号连接到后面:org/testng/testng/5.8/tesng-5.8
5.判断如果构件有classifier,就要在 第4项 后增加 分隔符连字号 再加上 classifier,org/testng/testng/5.8/tesng-5.8-jdk5
6.检查构件的extension,如果extension存在,则加上句点分隔符和extension,而extension是由packing决定的,org/testng/testng/5.8/tesng-5.8-jdk5.jar
到这里我们就明白了Maven 对于构件存储的细节。
Maven 仓库的分类:
maven的仓库只有两大类:1.本地仓库 2.远程仓库,在远程仓库中又分成了3种:2.1 中央仓库 2.2 私服 2.3 其它公共库
1.本地仓库,顾名思义,就是Maven在本地存储构件的地方。
注:maven的本地仓库,在安装maven后并不会创建,它是在第一次执行maven命令的时候才被创建
maven本地仓库的默认位置:无论是Windows还是Linux,在用户的目录下都有一个.m2/repository/的仓库目录,这就是Maven仓库的默认位置
如何更改maven默认的本地仓库的位置:这里要引入一个新的元素:localRepository,它是存在于maven的settings.xml文件中
1.1 更改配置用户范围的本地仓库:先在/.m2/目录下创建settings.xml文件,然后在~/.m2/settings.xml,设置localRepository元素的值为想要的仓库地址
这时候,maven的本地仓库地址就变成了 D:\maven_new_repository ,注:此时配置的maven的本地仓库是属于用户范围的。
1.2 更改配置全局范围的本地仓库:在M2_HOME/conf/settings.xml中更改配置,更改配置的方法同上
注:此时更改后,所有的用户都会受到影响,而且如果maven进行升级,那么所有的配置都会被清除,所以要提前复制和备份M2_HOME/conf/settings.xml文件
故:一般情况下不推荐配置全局的settings.xml
2. 远程仓库
2.1 说到远程仓库先从 最核心的中央仓库开始,中央仓库是默认的远程仓库,maven在安装的时候,自带的就是中央仓库的配置
在maven的聚合与继承中我们说过,所有的maven项目都会继承超级pom,具体的说,包含了下面配置的pom我们就称之为超级pom
中央仓库包含了绝大多数流行的开源Java构件,以及源码、作者信息、SCM、信息、许可证信息等。一般来说,简单的Java项目依赖的构件都可以在这里下载到
2.2 私服
私服是一种特殊的远程仓库,它是架设在局域网内的仓库服务,私服代理广域网上的远程仓库,供局域网内的Maven用户使用。当Maven需要下载构件的时候,它从私服请求,如果私服上不存在该构件,则从外部的远程仓库下载,缓存在私服上之后,再为Maven的下载请求提供服务。我们还可以把一些无法从外部仓库下载到的构件上传到私服上。
Maven私服的 个特性:
1.节省自己的外网带宽:减少重复请求造成的外网带宽消耗
2.加速Maven构件:如果项目配置了很多外部远程仓库的时候,构建速度就会大大降低
3.部署第三方构件:有些构件无法从外部仓库获得的时候,我们可以把这些构件部署到内部仓库(私服)中,供内部maven项目使用
4.提高稳定性,增强控制:Internet不稳定的时候,maven构建也会变的不稳定,一些私服软件还提供了其他的功能
5.降低中央仓库的负荷:maven中央仓库被请求的数量是巨大的,配置私服也可以大大降低中央仓库的压力
当前主流的maven私服:
1.Apache的Archiva
2.JFrog的Artifactory
3.Sonatype的Nexus
三、远程仓库配置
配置远程仓库将引入新的配置元素:<repositories> <repository>
在<repositories>元素下,可以使用 <repository>子元素声明一个或者多个远程仓库。
例子:
<updatePolicy>元素:表示更新的频率,值有:never, always,interval,daily, daily 为默认值
<checksumPolicy>元素:表示maven检查和检验文件的策略,warn为默认值
出于安全方面的考虑,有时我们要对远程仓库的访问进行认证,一般将认证信息配置在settings.xml中:
注:这里的id必须与POM中需要认证的repository元素的Id一致。
如何将生成的项目部署到远程仓库
完成这项工作,也需要在POM中进行配置,这里有新引入了一个元素:<distributionManagement>
distributionManagement包含了2个子元素:repository和snapshotRepository, 前者表示发布版本构件的仓库,后者表示快照版本的仓库
这两个元素都需要配置 id(该远程仓库的唯一标识),name,url(表示该仓库的地址)
向远程仓库中部署构件,需要进行认证。配置同上
配置正确后运行: mvn clean deploy
正确的看待快照
之前我们在配置pom的时候,对于快照的配置都很谨慎,或者说很少用快照的版本,原因是它还很不稳定,极容易给我们的系统带来未知的错误,让我们很难查找。其实快照版本也并不是一无是处,快照最大的用途是用在开发的过程中,尤其是有模块依赖的时候,比如说AB两个模块同时开发,A依赖于B,开发过程中AB都是持续集成的开发,不断的修改POM文件和构建工程,这时候版本同步就成了一个很大的问题。使用快照就可以达到这一目的。
其实在快照版本在发布的过程中,Maven会自动为构件以当前时间戳做标记,有了这个时间戳,我们就可以随时找到最新的快照版本,这样也就解决刚才说的 协作开发的问题。
至于A如何检查B的更新,刚刚在讲配置的时候说过,快照配置中有一个元素可以控制检查更新的频率------updatePolicy
我们也可以使用命令行加参数的形式强制执行让maven检查更新:
mvn clean install-U
maven到底是如何从仓库中解析构件的呢?----maven从仓库解析依赖的机制
1. 当依赖的范围是system的时候,Maven直接从本地文件系统解析构件
2. 根据依赖坐标计算仓库路径后,尝试直接从本地仓库寻找构件,如果发现相应构件,则解析成功
3. 在本地仓库不存在相应的构件情况下,如果依赖的版本是显示的发布版本构件,则遍历所有的远程仓库,发现后下载使用
4. 如果依赖的版本是RELEASE或LATEST, 则基于更新策略读取所有远程仓库的元数据,将其于本地仓库的对应元数据合并后,计算出RELEASE或者LATEST的真实值,然后基于这个真实值检查本地仓库
5. 如果依赖的版本是SNAPSHOT, 则基于更新策略读取所有远程仓库的元数据, 将其与本地仓库的对应元数据合并后,得到最新快照版本的值,然后基于该值检查本地仓库或从远程仓库下载
6. 如果最后解析到的构件版本是时间戳格式的快照,则复制其时间戳格式的文件 至 非时间戳格式,并使用该非时间戳格式的构件
注:一定要记得<release> <enabled> & <snapshot> <enabled> ,对于快照也是一样
在POM的依赖声明的时候不推荐使用LATEST & RELEASE, 在Maven3中也不再支持在插件配置中使用LATEST & RELEASE, 如果不设置插件版本,那么最终版本和release一样,
maven只会解析最新的发布版本构建。
镜像
不想爱了就放手,不想讲了就闭嘴,不想恨了就释怀。
感悟——一切都会过去的,事事不必太执着。
-
顶
-
踩
- 上一篇Maven详解之聚合与继承
- 下一篇贫血模型与领域架构模式
-
猜你在找
- 个人资料
-
- 访问:725998次
- 积分:4883
- 等级:
- 排名:第5408名
- 原创:78篇
- 转载:3篇
- 译文:1篇
- 评论:114条
- 博客专栏
项目管理与持续集成 文章:14篇
阅读:441639Selenium2(WebDriver)自动化测试 文章:8篇
阅读:62848TestNg技术详解 文章:12篇
阅读:88474
- 文章搜索
- 文章分类
- 软件测试-测试框架之Junit(4)
- 软件测试-测试框架之TestNg(14)
- 软件测试-自动化测试Selenium(8)
- 软件测试-测试理论(6)
- 软件测试-测试驱动开发(2)
- maven配置详解(9)
- 开发环境与管理工具(22)
- MacBook 相关配置(4)
- Mysql&Oracle(8)
- SVN+GIT版本控制(4)
- Java&JavaScript基础知识(17)
- JavaEE_SSH(2)
- 软件架构(3)
- English Column(1)
- 成长经验分享(0)
- 跟随鸟哥的Linux之路(1)
- Eclipse使用技巧(2)
- JPA学习笔记(1)
- Java算法(1)
- 注册码\序列号(1)
- 敏捷专题(1)
- 管理学空间(1)
- Docker(0)
- 阅读排行
- (187558)
- (40783)
- (36772)
- (35425)
- (32914)
- (30301)
- (25679)
- (24727)
- (16810)
- (13871)
- 评论排行
- (31)
- (20)
- (13)
- (11)
- (8)
- (3)
- (3)
- (2)
- (2)
- (2)
- 推荐文章
- 最新评论
: 多谢分享
: @u013047584:这个setting超过字节,反着看。
: org.mortbay.jetty org.codehaus.cargo org.jvnet....
: nexus central nexus repository http://192.16...
: dynamic-snapshots admin ***
: D:\Maven\repository releases admin ***
: 博主,请问,现在我的maven只能够从我的私服上面去下载jar包,但是私服上有些我需要的jar包是没...
: 聚合打包的方式应该为 pom 应该是。。。。。。
: 我想请问下,聚合项目aggregator聚合了多个maven项目后,起到什么作用,最终是发布aggr...
: 非常有帮助;
Dragon's Life
坚持,完成每一个目标!

版权声明:本文为博主原创文章,未经博主允许不得转载。
在Maven中,任何一个依赖、插件或者项目构建的输出,都可以称之为构件。
Maven在某个统一的位置存储所有项目的共享的构件,这个统一的位置,我们就称之为仓库。(仓库就是存放依赖和插件的地方)
任何的构件都有唯一的坐标,Maven根据这个坐标定义了构件在仓库中的唯一存储路径,
解读Maven在仓库中的存储路径:
1.基于groupId准备路径,将句点分隔符转成路径分隔符,就是将 "." 转换成 "/" ; example: org.testng --->org/testng
2.基于artifactId准备路径,将artifactId连接到后面:org/testng/testng
3.使用version准备路径,将version连接到后面:org/testng/testng/5.8
4.将artifactId于version以分隔符连字号连接到后面:org/testng/testng/5.8/tesng-5.8
5.判断如果构件有classifier,就要在 第4项 后增加 分隔符连字号 再加上 classifier,org/testng/testng/5.8/tesng-5.8-jdk5
6.检查构件的extension,如果extension存在,则加上句点分隔符和extension,而extension是由packing决定的,org/testng/testng/5.8/tesng-5.8-jdk5.jar
到这里我们就明白了Maven 对于构件存储的细节。
Maven 仓库的分类:
maven的仓库只有两大类:1.本地仓库 2.远程仓库,在远程仓库中又分成了3种:2.1 中央仓库 2.2 私服 2.3 其它公共库
1.本地仓库,顾名思义,就是Maven在本地存储构件的地方。
注:maven的本地仓库,在安装maven后并不会创建,它是在第一次执行maven命令的时候才被创建
maven本地仓库的默认位置:无论是Windows还是Linux,在用户的目录下都有一个.m2/repository/的仓库目录,这就是Maven仓库的默认位置
如何更改maven默认的本地仓库的位置:这里要引入一个新的元素:localRepository,它是存在于maven的settings.xml文件中
1.1 更改配置用户范围的本地仓库:先在/.m2/目录下创建settings.xml文件,然后在~/.m2/settings.xml,设置localRepository元素的值为想要的仓库地址
这时候,maven的本地仓库地址就变成了 D:\maven_new_repository ,注:此时配置的maven的本地仓库是属于用户范围的。
1.2 更改配置全局范围的本地仓库:在M2_HOME/conf/settings.xml中更改配置,更改配置的方法同上
注:此时更改后,所有的用户都会受到影响,而且如果maven进行升级,那么所有的配置都会被清除,所以要提前复制和备份M2_HOME/conf/settings.xml文件
故:一般情况下不推荐配置全局的settings.xml
2. 远程仓库
2.1 说到远程仓库先从 最核心的中央仓库开始,中央仓库是默认的远程仓库,maven在安装的时候,自带的就是中央仓库的配置
在maven的聚合与继承中我们说过,所有的maven项目都会继承超级pom,具体的说,包含了下面配置的pom我们就称之为超级pom
中央仓库包含了绝大多数流行的开源Java构件,以及源码、作者信息、SCM、信息、许可证信息等。一般来说,简单的Java项目依赖的构件都可以在这里下载到
2.2 私服
私服是一种特殊的远程仓库,它是架设在局域网内的仓库服务,私服代理广域网上的远程仓库,供局域网内的Maven用户使用。当Maven需要下载构件的时候,它从私服请求,如果私服上不存在该构件,则从外部的远程仓库下载,缓存在私服上之后,再为Maven的下载请求提供服务。我们还可以把一些无法从外部仓库下载到的构件上传到私服上。
Maven私服的 个特性:
1.节省自己的外网带宽:减少重复请求造成的外网带宽消耗
2.加速Maven构件:如果项目配置了很多外部远程仓库的时候,构建速度就会大大降低
3.部署第三方构件:有些构件无法从外部仓库获得的时候,我们可以把这些构件部署到内部仓库(私服)中,供内部maven项目使用
4.提高稳定性,增强控制:Internet不稳定的时候,maven构建也会变的不稳定,一些私服软件还提供了其他的功能
5.降低中央仓库的负荷:maven中央仓库被请求的数量是巨大的,配置私服也可以大大降低中央仓库的压力
当前主流的maven私服:
1.Apache的Archiva
2.JFrog的Artifactory
3.Sonatype的Nexus
三、远程仓库配置
配置远程仓库将引入新的配置元素:<repositories> <repository>
在<repositories>元素下,可以使用 <repository>子元素声明一个或者多个远程仓库。
例子:
<updatePolicy>元素:表示更新的频率,值有:never, always,interval,daily, daily 为默认值
<checksumPolicy>元素:表示maven检查和检验文件的策略,warn为默认值
出于安全方面的考虑,有时我们要对远程仓库的访问进行认证,一般将认证信息配置在settings.xml中:
注:这里的id必须与POM中需要认证的repository元素的Id一致。
如何将生成的项目部署到远程仓库
完成这项工作,也需要在POM中进行配置,这里有新引入了一个元素:<distributionManagement>
distributionManagement包含了2个子元素:repository和snapshotRepository, 前者表示发布版本构件的仓库,后者表示快照版本的仓库
这两个元素都需要配置 id(该远程仓库的唯一标识),name,url(表示该仓库的地址)
向远程仓库中部署构件,需要进行认证。配置同上
配置正确后运行: mvn clean deploy
正确的看待快照
之前我们在配置pom的时候,对于快照的配置都很谨慎,或者说很少用快照的版本,原因是它还很不稳定,极容易给我们的系统带来未知的错误,让我们很难查找。其实快照版本也并不是一无是处,快照最大的用途是用在开发的过程中,尤其是有模块依赖的时候,比如说AB两个模块同时开发,A依赖于B,开发过程中AB都是持续集成的开发,不断的修改POM文件和构建工程,这时候版本同步就成了一个很大的问题。使用快照就可以达到这一目的。
其实在快照版本在发布的过程中,Maven会自动为构件以当前时间戳做标记,有了这个时间戳,我们就可以随时找到最新的快照版本,这样也就解决刚才说的 协作开发的问题。
至于A如何检查B的更新,刚刚在讲配置的时候说过,快照配置中有一个元素可以控制检查更新的频率------updatePolicy
我们也可以使用命令行加参数的形式强制执行让maven检查更新:
mvn clean install-U
maven到底是如何从仓库中解析构件的呢?----maven从仓库解析依赖的机制
1. 当依赖的范围是system的时候,Maven直接从本地文件系统解析构件
2. 根据依赖坐标计算仓库路径后,尝试直接从本地仓库寻找构件,如果发现相应构件,则解析成功
3. 在本地仓库不存在相应的构件情况下,如果依赖的版本是显示的发布版本构件,则遍历所有的远程仓库,发现后下载使用
4. 如果依赖的版本是RELEASE或LATEST, 则基于更新策略读取所有远程仓库的元数据,将其于本地仓库的对应元数据合并后,计算出RELEASE或者LATEST的真实值,然后基于这个真实值检查本地仓库
5. 如果依赖的版本是SNAPSHOT, 则基于更新策略读取所有远程仓库的元数据, 将其与本地仓库的对应元数据合并后,得到最新快照版本的值,然后基于该值检查本地仓库或从远程仓库下载
6. 如果最后解析到的构件版本是时间戳格式的快照,则复制其时间戳格式的文件 至 非时间戳格式,并使用该非时间戳格式的构件
注:一定要记得<release> <enabled> & <snapshot> <enabled> ,对于快照也是一样
在POM的依赖声明的时候不推荐使用LATEST & RELEASE, 在Maven3中也不再支持在插件配置中使用LATEST & RELEASE, 如果不设置插件版本,那么最终版本和release一样,
maven只会解析最新的发布版本构建。
镜像
不想爱了就放手,不想讲了就闭嘴,不想恨了就释怀。
感悟——一切都会过去的,事事不必太执着。
-
顶
-
踩
- 上一篇Maven详解之聚合与继承
- 下一篇贫血模型与领域架构模式
-
猜你在找
-
19楼
d1249393122017-04-24 22:04发表
-
- 多谢分享
-
18楼
咖喱土豆和鸡块2017-04-22 09:02发表
-
- 博主,请问,现在我的maven只能够从我的私服上面去下载jar包,但是私服上有些我需要的jar包是没有的,发现现在不能从远程的中央仓库去下载jar包,请问是为什么?如下是我的setting.xml文件,刚才看文章,楼主说在pom中继承超级Pom文件,是在超级pom中设置maven中央仓库吗?
-
- 回复咖喱土豆和鸡块:这个setting超过字节,反着看。
-
-
-
-
-
Re:
咖喱土豆和鸡块2017-04-22 09:06发表
-
Re:
咖喱土豆和鸡块2017-04-22 09:06发表
-
Re:
咖喱土豆和鸡块2017-04-22 09:05发表
-
Re:
咖喱土豆和鸡块2017-04-22 09:05发表
-
Re:
咖喱土豆和鸡块2017-04-22 09:04发表
-
17楼
雪吖头2017-03-14 15:46发表
-
- 非常有帮助;
-
16楼
何红霞2017-02-24 14:39发表
-
- 今天在使用maven的时候,遇到了几个问题,看博主的文章,理解了基本概念,解决了问题,多谢
-
15楼
王虹芸2017-02-24 14:37发表
-
- 谢谢博主分享,清楚多了。
-
14楼
12期-王啸2017-02-22 15:59发表
-
- 急求如何把maven库绑定到JBOSS eap 服务器中
-
13楼
栗振娟2017-02-09 17:58发表
-
- 解析的很好,多谢分享。
-
12楼
haozaiba2016-12-16 08:49发表
-
- ·您好,如果我想实现自己的parent,该如何写啊,能否指教一下?
-
-
回复haozaiba:先写自己的parent,然后让其余的模块继承parent即可.
在parent声明各种需要的依赖、插件等。
-
Re:
桐桐-Dragon2016-12-19 10:24发表
-
10楼
yuanlin_work2016-08-11 11:40发表
-
- 受教了,多谢
-
9楼
Man-YB2016-05-11 14:13发表
-
- 远程仓库的配置那里不清楚是把配置文件写在pom.xml还是在settings.xml里面.
-
- 回复Man-YB:肯定是写在Maven的setting.xml中
-
Re:
一个X号的QB2016-07-13 16:38发表
-
7楼
im54372016-04-14 21:46发表
-
- 学习了
-
6楼
Shao_win2016-03-17 13:46发表
-
- 想问一下更新了maven远程仓库对项目有没有影响的,为什么更新完远程仓库之后运行项目就说maven插件版本没有了呢
-
5楼
七零五七2016-03-06 14:31发表
-
- 有没有这种情况,我pom中配置两个类似的远程仓库,那这两个仓库优先级谁高
-
4楼
七零五七2016-03-06 14:29发表
-
- 是不是maven实战的总结
-
3楼
实体笑2015-12-31 10:24发表
-
- 拜读中。。
-
2楼
qq_238655332015-11-09 09:38发表
-
- 请问下,如果pom.xml中配置了远程仓库,setting中也配置了远程仓库,构建项目的时候会先走哪个?如何配置不让先走setting的?
-
-
回复qq_23865533:你的问题你都已经回答了。。。
这个确实是有个优先级的,应该是pom>用户级别>全局级别,
例:如果pom中不配置,就取用户级别,
-
Re:
桐桐-Dragon2015-11-17 17:12发表
-
1楼
gudanhao2015-07-27 17:37发表
-
- 学习中,非常有用,谢谢
- 个人资料
-
- 访问:725998次
- 积分:4883
- 等级:
- 排名:第5408名
- 原创:78篇
- 转载:3篇
- 译文:1篇
- 评论:114条
- 博客专栏
项目管理与持续集成 文章:14篇
阅读:441639Selenium2(WebDriver)自动化测试 文章:8篇
阅读:62848TestNg技术详解 文章:12篇
阅读:88474
- 文章搜索
- 文章分类
- 软件测试-测试框架之Junit(4)
- 软件测试-测试框架之TestNg(14)
- 软件测试-自动化测试Selenium(8)
- 软件测试-测试理论(6)
- 软件测试-测试驱动开发(2)
- maven配置详解(9)
- 开发环境与管理工具(22)
- MacBook 相关配置(4)
- Mysql&Oracle(8)
- SVN+GIT版本控制(4)
- Java&JavaScript基础知识(17)
- JavaEE_SSH(2)
- 软件架构(3)
- English Column(1)
- 成长经验分享(0)
- 跟随鸟哥的Linux之路(1)
- Eclipse使用技巧(2)
- JPA学习笔记(1)
- Java算法(1)
- 注册码\序列号(1)
- 敏捷专题(1)
- 管理学空间(1)
- Docker(0)
- 阅读排行
- (187558)
- (40783)
- (36772)
- (35425)
- (32914)
- (30301)
- (25679)
- (24727)
- (16810)
- (13871)
- 评论排行
- (31)
- (20)
- (13)
- (11)
- (8)
- (3)
- (3)
- (2)
- (2)
- (2)
- 推荐文章
- 最新评论
19楼 d1249393122017-04-24 22:04发表 [回复]-
-
多谢分享
18楼 咖喱土豆和鸡块2017-04-22 09:02发表 [回复]-
-
博主,请问,现在我的maven只能够从我的私服上面去下载jar包,但是私服上有些我需要的jar包是没有的,发现现在不能从远程的中央仓库去下载jar包,请问是为什么?如下是我的setting.xml文件,刚才看文章,楼主说在pom中继承超级Pom文件,是在超级pom中设置maven中央仓库吗?
Re: 咖喱土豆和鸡块2017-04-22 09:06发表 [回复]-
-
回复咖喱土豆和鸡块:这个setting超过字节,反着看。
Re: 咖喱土豆和鸡块2017-04-22 09:06发表 [回复]-
-
[html]
view plain
copy
- <!-- 配置eclipse插件 -->
- <pluginGroups>
- <pluginGroup>org.mortbay.jetty</pluginGroup>
- <pluginGroup>org.codehaus.cargo</pluginGroup>
- <pluginGroup>org.jvnet.hudson.tools</pluginGroup>
- </pluginGroups>
- </settings>
Re: 咖喱土豆和鸡块2017-04-22 09:05发表 [回复]-
-
[html]
view plain
copy
- <!-- 设置 maven 的远程仓库为 nexus -->
- <mirrors>
- <mirror>
- <id>nexus</id>
- <mirrorOf>central</mirrorOf>
- <name>nexus repository</name>
- <url>http://192.168.22.223:8081/nexus/content/groups/dynamic-public121</url>
- </mirror>
- </mirrors>
-
- <!-- 设置 central 的路径等,覆盖了maven module builder里面的central配置 -->
- <profiles>
- <profile>
- <id>central</id>
- <repositories>
- <repository>
- <id>central</id>
- <name>Central</name>
- <url>http://192.168.22.223:8081/nexus/content/groups/dynamic-public111</url>
- </repository>
- </repositories>
- <pluginRepositories>
- <pluginRepository>
- <id>central</id>
- <name>Central</name>
- <url>http://192.168.22.234:8081/nexus/content/groups/dynamic-public123</url>
- </pluginRepository>
- </pluginRepositories>
- </profile>
- </profiles>
- <activeProfiles>
- <activeProfile>central</activeProfile>
- </activeProfiles>
-
-
Re: 咖喱土豆和鸡块2017-04-22 09:05发表 [回复]-
-
[html]
view plain
copy
- <server>
- <id>dynamic-snapshots</id>
- <username>admin</username>
- <password>***</password>
- </server>
- </servers>
-
-
Re: 咖喱土豆和鸡块2017-04-22 09:04发表 [回复]-
-
[html]
view plain
copy
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
- <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:\Maven\repository</localRepository>
-
- <!-- 设置发布 jar 包时的用户名及密 -->
- <servers>
- <server>
- <id>releases</id>
- <username>admin</username>
- <password>***</password>
- </server>
-
-
17楼 雪吖头2017-03-14 15:46发表 [回复]-
-
非常有帮助;
16楼 何红霞2017-02-24 14:39发表 [回复]-
-
今天在使用maven的时候,遇到了几个问题,看博主的文章,理解了基本概念,解决了问题,多谢
15楼 王虹芸2017-02-24 14:37发表 [回复]-
-
谢谢博主分享,清楚多了。
14楼 12期-王啸2017-02-22 15:59发表 [回复]-
-
急求如何把maven库绑定到JBOSS eap 服务器中
13楼 栗振娟2017-02-09 17:58发表 [回复]-
-
解析的很好,多谢分享。
12楼 haozaiba2016-12-16 08:49发表 [回复]-
-
·您好,如果我想实现自己的parent,该如何写啊,能否指教一下?
Re: 桐桐-Dragon2016-12-19 10:24发表 [回复]-
-
回复haozaiba:先写自己的parent,然后让其余的模块继承parent即可.
在parent声明各种需要的依赖、插件等。
11楼 happyljw2016-10-12 10:11发表 [回复]-
-
学习中受教了,楼主我能转载吗?
Re: 桐桐-Dragon2016-11-04 15:34发表 [回复]-
-
回复happyljw:可以哦~
10楼 yuanlin_work2016-08-11 11:40发表 [回复]-
-
受教了,多谢
9楼 Man-YB2016-05-11 14:13发表 [回复]-
-
远程仓库的配置那里不清楚是把配置文件写在pom.xml还是在settings.xml里面.
Re: 一个X号的QB2016-07-13 16:38发表 [回复]-
-
回复Man-YB:肯定是写在Maven的setting.xml中
8楼 Man-YB2016-05-11 14:10发表 [回复]-
-
中央仓库的路径能修改吗,在哪儿修改.
Re: 杨万2016-09-26 15:32发表 [回复]-
-
回复Man-YB:可以通过镜像进行覆盖
7楼 im54372016-04-14 21:46发表 [回复]-
-
学习了
6楼 Shao_win2016-03-17 13:46发表 [回复]-
-
想问一下更新了maven远程仓库对项目有没有影响的,为什么更新完远程仓库之后运行项目就说maven插件版本没有了呢
Re: 桐桐-Dragon2016-03-17 15:40发表 [回复]-
-
回复Shao_win:1. 本地 2.局域网(企业内部) 3.maven center
你只能更新 1和2的,1就是你本地代码的,你可以先看一下,你本地仓库有没有了。。
你可以登陆到2的服务器上看一下,到底有没有对应的版本,
建议你先update一下你的工程再进行上面的检查。。。因为如果是之前有,除非人为删除,否则都应该是你工程的问题。
Re: Shao_win2016-03-31 23:56发表 [回复]-
-
回复桐桐-Dragon:谢谢回答,问题解决了,不是我所说的原因,这方面还有待学习,谢谢
5楼 七零五七2016-03-06 14:31发表 [回复]-
-
有没有这种情况,我pom中配置两个类似的远程仓库,那这两个仓库优先级谁高
4楼 七零五七2016-03-06 14:29发表 [回复]-
-
是不是maven实战的总结
3楼 实体笑2015-12-31 10:24发表 [回复]-
-
拜读中。。
2楼 qq_238655332015-11-09 09:38发表 [回复]-
-
请问下,如果pom.xml中配置了远程仓库,setting中也配置了远程仓库,构建项目的时候会先走哪个?如何配置不让先走setting的?
Re: 桐桐-Dragon2015-11-17 17:12发表 [回复]-
-
回复qq_23865533:你的问题你都已经回答了。。。
这个确实是有个优先级的,应该是pom>用户级别>全局级别,
例:如果pom中不配置,就取用户级别,
1楼 gudanhao2015-07-27 17:37发表 [回复]-
-
学习中,非常有用,谢谢