文档章节

Maven 实战 03 仓库

fokYaland
 fokYaland
发布于 2015/06/04 17:26
字数 638
阅读 35
收藏 0
对于maven来说,仓库只分为两类:本地仓库和远程仓库
除了中央仓库和私服,还有很多其他公开的远程仓库,常见的有java.net Maven库(http://download.java.net/maven/2/)和jboss Maven库(http://repository.jboss.com/maven2/)等

本地仓库
编辑文件~/.m2/settings.xml,设置localRepository元素的值为想要的仓库地址
<settings>  
    <localRepository>D:\java\repository\</localRepository>  
 </settings>

中央仓库
    默认的中央仓库为:http://repol.maven.org/maven2
    <repository>
        <id>central</id>
        <url>http://repo1.maven.org/maven2/</url>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
    snapshots-enabled 为false  表示不从中央仓库下载快照的构建,包含这段配置的文件是所有maven项目都会继承的超级POM.

远程仓库
很多情况下,默认的远程仓库无法满足项目的需求,可能项目需要的构件存于另一个远程仓库。修改POM文件
    <repositories>
        ....
        < repository>
            <id>central</id>
            <url>http://repository.jboss.com/maven2</url>
            <snapshots>
                <enabled>false</enabled>
                <checksumPolicy>ignore</checksumPolicy>
                <updatePolicy>dalily</updatePolicy>
            </snapshots>
        </ repository>
        ...
    </repositories>
<updatePolicy>配置maven从远程仓库检查更新的频率,默认为dalily(每天),never,always(每次构件都检查),interval:X(每个X分钟) <checksumPolicy>配置maven的检查策略与文件策略。默认为warn(执行构件是输出警告信息),fail(构件失败),ignore(完全忽略)

远程仓库认证
    配置认证信息必须在settings.xml文件中
    <servers>
        ...
        < server>
          <id>deploymentRepo</id>
          <username>repouser</username>
          <password>repopwd</password>
        </ server>
        ...
    </servers>
    settings.xml中server元素的id必须与POM中需要认证的repository元素的id完全一致。

部署至远程仓库,在POM中添加
    <distributionManagement>
        < repository>
            <id>proj-releases</id>
            <name>proj-releases repository</name>
            <url>http://192.168.1.100/content/repositories/pro-releases</url>
        </repository>
        < snapshotRepository>
            <id>proj-snapshot</id>
            <name>proj-snapshot repository</name>
            <url>http://192.168.1.100/content/repositories/pro-snapshot</url>
        </snapshotRepository>
    </distributionManagement>

 <repository>元素表示发布版本仓库,
<snapshotRepository>表示快照版本仓库
通过 mvn deploy命令发布构件

镜像
    如果仓库X可以提供仓库Y的所有内容,那么就可以认为X是Y的一个镜像
    在settings.xml 中的mirror中配置
    <mirrors>
        <mirror>
          <id>maven.net.cn</id>
          <mirrorOf>central</mirrorOf>
          <name>one of the central mirros in china</name>
          <url>http://maven.net.cn/content/groups/public/</url>
        </mirror>
    </mirrors>
    < mirrorOf>值为central,表示该配置为中央仓库的镜像,对于任何中央仓库的请求都会转至该请求。
    镜像最常见的用法是结合私服
    <mirror>
          <id>internal-repository</id>
          <mirrorOf>*</mirrorOf>
          <name>one of the central mirros in china</name>
          <url>http://192.168.1.100/maven2</url>
    </mirror>
    <mirrorOf>*</mirrorOf>匹配所有远程仓库
    <mirrorOf>external:*</mirrorOf>配置所有不在本机的远程仓库
    <mirrorOf>rep1,rep2</mirrorOf>配置仓库rep1,rep2
    <mirrorOf>*,!rep1</mirrorOf>配置所有远程仓库,rep1除外



本文转载自:http://blog.csdn.net/yanliang1/article/details/12112093

fokYaland
粉丝 4
博文 68
码字总数 3062
作品 0
东城
私信 提问
使用Nexus创建Maven私服

Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用Nexus你可以只在一个地方就能够完全控制访问和部署在你所维护仓库中的每个Artifact。Nexus是一套...

guanzhenxing
2014/03/19
7.2K
29
Maven私有库和本地库的安装与配置 Sonatype Nexus + Maven

样例参考视频:http://www.roncoo.com/course/view/85d6008fe77c4199b0cdd2885eaeee53 环境:CentOS 6.6 Final、JDK7、Sonatype Nexus、Maven IP:192.168.4.221 root用户操作 前提:已安装J......

赵蕊
2017/06/08
168
0
Maven日常 —— 你应该知道的一二三

以前在日常工作中,使用Maven只是机械的执行Maven clean、Maven install,对其中的原理与过程并无了解,近期阅读了《Maven实战》,对Maven有了更深入的理解。 本篇就针对读书后的理解,对Mav...

青夜之衫
2017/12/05
0
0
eclipse maven 报错Could not get the value for parameter encoding for plugin execution default

问题描述:更改默认的maven仓库路径完成后、即存maven项目或者新建maven项目的时候出现如下错误 Could not get the value for parameter encoding for plugin execution default 原因分析:当...

唐僧他大叔
2017/05/31
0
0
Maven实战读书笔记(12)- Nexus

Nexus 简介 建立私服的好处是? 可以降低中央仓库负荷、节省外网带宽、加速Maven构建、自己部署构件等,从而高效地使用Maven 三种专门的Maven仓库管理软件是? 1、Apache基金会的Archiva 2、...

祥林会跟你远走高飞
2014/12/19
556
0

没有更多内容

加载失败,请刷新页面

加载更多

linux 定时脚本

1.定时任务基本用法 linux设置定时任务的关键字是:crontab查看当前定时任务:crontab -l新建定时任务的命令是:crontab -e 打开类似vi编辑器向里面新增内容即可 2.参数说明 时间的格...

半张一块
19分钟前
2
0
免费好用的常用软件

UninstallTool 比控制面板的卸载好用的多很小 Everything硬盘搜索快 QuickLook快速查看预览文件不用打开 7Z 、Bandizip比winrar没广告 gogs,gitlab 自架git 服务器 VisualSVN Server,svn服...

momo1987
19分钟前
2
0
@Transactional事务几点注意及其属性Propagation的使用

@Transactional事务几点注意 这里面有几点需要大家留意: A. 一个功能是否要事务,必须纳入设计、编码考虑。不能仅仅完成了基本功能就ok。 B. 如果加了事务,必须做好开发环境测试(测试环境...

小海bug
22分钟前
2
0
10套精美可视化数据分析PPT图表,职场必备

在日常工作当中制作PPT的时,一些麻烦的数据什么的,我们常会用到图表展示,但是图表制作过程中难免会遇到一些问题,可能表达不清楚,或者可能有做得不好看的情况出现等等!其实如果有一些好...

TeFuiro
27分钟前
3
0
拐点已至,云原生引领数字化转型升级

作者 | 易立 阿里云资深技术专家 本文整理自易立在 2019 携程技术峰会上发表的题目为《拐点已至,云原生引领数字化转型升级》的演讲。 关注“阿里巴巴云原生”公众号,回复关键词“转型”即可...

阿里巴巴云原生
29分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部