maven 笔记
来源:互联网 发布:祖龙娱乐 知乎 编辑:程序博客网 时间:2024/06/02 06:57
定义: 仓库用来统一存储所有Maven共享构建的位置就是仓库。根据Maven坐标定义每个构建在仓库中唯一存储路径大致为:groupId/artifactId/version/artifactId-version.packaging
仓库的分类
Ø 本地仓库
默认在~/.m2/repository,如果在用户配置中有配置,则以用户配置的地址为准
Ø 远程仓库
n 中央仓库(不包含有版本的jar包)
http://repo1.maven.org/maven2
n 私服
Maven私服
安装Nexus
为所有来自中央仓库的构建安装提供本地缓存。
下载网站:http://nexus.sonatype.org/
安装版本:nexus-2.7.0-06.war
第一步:安装tomcat
第二步:将nexus的war包拷贝到tomcat的webapps下
第三步:启动tomcat后对对nexus-2.7.0-06.war解压安装,最后安装地址:c:/users/mainname下的sonatype-work
============索引文件夹结构
=============依赖存储文件夹结构
输入地址:localhost8080/nexus-2.7.0-06/index.html 既可以打开nexus站点(默认账号:admin 密码:admin123)
ps:如果出现 Warning: Could not connect to Nexus
可能是nexus限定的jdk版本和本地jdk版本不兼容,尝试修改jdk版本(当前兼容的jdk版本是1.7)
Nexus的仓库和仓库组
仓库有4种类型 :
group(仓库组):一组仓库的集合
hosted(宿主):配置第三方仓库(包括公司内部私服和其他第三方公司的私服)
===================================用的很少======================================
proxy(代理):私服会对中央仓库进行代理,用户连接私服,私服自动去中央仓库下载jar包或者插件
virtual(虚拟):兼容Maven1 版本的jar或者插件
Nexus的仓库和仓库组介绍:
3rd party: 一个策略为Release的宿主类型仓库,用来部署无法从公共仓库获得的第三方发布版本构建
Apache Snapshots: 一个策略为Snapshot的代理仓库,用来代理Apache Maven仓库的快照版本构建
Central: 代理Maven中央仓库
Central M1 shadow: 代理Maven1 版本中央仓库
Codehaus Snapshots: 一个策略为Snapshot的代理仓库,用来代理Codehaus Maven仓库的快照版本构件
Releases: 一个策略为Release的宿主类型仓库,用来部署组织内部的发布版本构件
Snapshots: 一个策略为Snapshot的宿主类型仓库,用来部署组织内部的快照版本构件
PublicRepositories:该仓库组将上述所有策略为Release的仓库聚合并通过一致的地址提供服务
配置所有构建均从私服下载
在本地仓库的setting.xml中配置如下:
<mirrors>
<mirror>
<!--此处配置所有的构建均从私有仓库中下载 *代表所有,也可以写central -->
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>http://localhost:8080/nexus-2.7.0-06/content/groups/public/</url>
</mirror>
</mirrors>
以后所有的依赖均从私服下载
部署构建到Nexus
第一步:Nexus的访问权限控制
在本地仓库的setting.xml中配置如下:
<server>
<id>releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
第二步:配置pom文件
在需要构建的项目中修改pom文件
<distributionManagement>
<repository>
<id>releases</id>
<name>Internal Releases</name>
<url>http://localhost:8080/nexus-2.7.0-06/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>Internal Snapshots</name>
<url>http://localhost:8080/nexus-2.7.0-06/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>第三步:执行maven的deploy命令
ps:默认是snapshot,需要指定时在需要发布的项目的GAV中的V指定,比如:0.0.1-SNAPSHOT发布到快照版本,0.0.1-RELEASE发布到正式版本在nexus的Release和Snapshot里就能看到了
- maven 笔记-maven安装
- Maven 笔记
- maven 笔记
- maven笔记
- maven 笔记
- maven 笔记
- Maven笔记
- Maven 笔记
- maven笔记
- maven笔记
- Maven笔记
- maven 笔记
- Maven 笔记
- maven笔记
- maven笔记
- Maven笔记
- maven笔记
- MAVEN笔记
- SpringMVC单元测试
- 给出两个整数a和b, 求他们的和, 但不能使用 + 等数学运算符。
- org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.Reflecti
- 2017-8-16
- 胡思乱想之保险
- maven 笔记
- Java技术常用的设计模式(一)--- 策略模式
- 键盘码、ASCII码表
- 多线程交替打印ABC的多种实现方法
- memcache的介绍,应用场景,优缺点和常见问题
- YOLO的安装与学习
- Python+selenium
- 对象、对象引用、实例
- 【理论实践】用alignas代替#pragma pack