nexus私服与maven配置
nexus安装与使用:
Windows安装:
1、下载https://www.sonatype.com/oss-thank-you-zip
2、解压:F:\software\nexus\nexus-2.14.4-03-bundle
3、环境变量配置:path里添加:F:\software\nexus\nexus-2.14.4-03-bundle\nexus-2.14.4-03\bin
4、安装成服务:nexus install
5、启动:nexus start
6、WEB管理界面:http://127.0.0.1:8081/nexus 用户名密码:admin/admin123
一些说明:
1、在WEB管理界面,需要配置proxy的Repositories;将Download Remote Indexes设置成True;这样nexus的仓库才会拉取远程仓库的包。
2、如果出现nexus仓库的包下载不了的情况,可以在指定的Repositories使用如下的操作:
3、nexus几个重要的Repositories:Snapshots、Releases、3rd party、Public Repositories;这几个Repositories的URL,提供给maven配置私服仓库用的。
pom.xml与setting.xml,是Maven中最重要的两个配置文件,决定了Maven的核心功能。
setting配置
这里对一些常用的配置做个说明:
1、在properties配置的内容,可以在pom.xml里引用。相当于全局配置。
2、mirrors配置,可以指定镜像的位置,例如使用:http://maven.aliyun.com/nexus/content/groups/public 阿里云的maven仓库,可以大幅度提升下载的速度。
3、servers配置,是私服认证,用于上传自己开发的项目。
4、localRepository本地仓库的位置,默认是${user.home}/.m2/repository 可以修改到指定的目录。
5、repository表示Maven的中央仓库
pom.xml配置
一些配置说明:
maven坐标的定义:
groupId:定义当前Maven项目隶属的实际项目
artifactId:定义实际项目中的一个Maven模块
version:定义Maven项目当前所处的版本
packing:定义Maven项目的打包方式
Maven坐标的概念大致上就是这样,理解Maven坐标,是理解Maven很重要的一步。
dependencies:项目的依赖;依赖具有传递性;例如:项目A依赖B.jar,而b.jar依赖C,则A也会依赖C。传递性依赖会给项目隐式地引入很多依赖,这极大地简化了项目依赖的管理。
exclusions:用于依赖排除。
scope作用域:compile【默认】、provided、test、system、runtime、import。
properties:配置变量。
${xxx.xxx}:变量的引用,可以引用pom.xml定义的properties,也可以引用setting.xml里面定义的properties.
distributionManagement:用于项目发布到远程Maven仓库。
maven的一些隐性变量:
${basedir} 项目根目录
${project.build.directory} 构建目录,缺省为target
${project.build.outputDirectory} 构建过程输出目录,缺省为target/classes
${project.build.finalName} 产出物名称,缺省为${project.artifactId}-${project.version}
${project.packaging} 打包类型,缺省为jar
${project.xxx} 当前pom文件的任意节点的内容