maven学习4

#maven的聚合和继承
新建一个maven工程,maven聚合使用标签
maven继承使用标签
继承的绝对路径是pom.xml文件,聚合的路径是模块的路径,
聚合(在父maven工程pom.xml中写):

<modules>
  	<module>../user-core</module>
    <module>../user-log</module>
    <module>../user-service</module>
  </modules>

继承(在子maven工程pom.xml中写)

<parent>
<groupId>com.zch.user</groupId>
<artifactId>user-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../user-parent/pom.xml</relativePath>
</parent>

#Maven仓库—Nexus环境搭建及简单介绍

  1. 环境搭建
    1.1下载

http://www.sonatype.org/nexus/
    NEXUS OSS [OSS = Open Source Software,开源软件——免费]
    NEXUS PROFESSIONAL -FREE TRIAL [专业版本——收费]。
这里写图片描述

    找到Download andInstall Nexus OSS。下载ZIP的即可:

这里写图片描述

1.2配置
将下载的ZIP包解压,得到如下目录:
这里写图片描述
将Nexus的bin目录添加到Path环境变量中:
这里写图片描述
将Nexus与当前使用的JDK的关联,修改如下的配置文件即可,目录为,
${ Nexus_HOME }/bin/jsw/conf/wrapper.conf。如下图:
这里写图片描述

wrapper.java.command=C:\Program Files\Java\jdk1.8.0_51\bin\java
安装服务:
(注:Maven nexus 安装nexus : wrapper | OpenSCManager failed - 拒绝访问。解决方案是 单击“开始”
点击“所有程序”
点击附件
用鼠标右键单击“命令提示符”图标
点击“属性”
单击“快捷方式”选项卡上的顶部
单击高级按钮,在底部
点击的复选框说:“以管理员身份运行”。
单击“确定”

这里写图片描述
启动服务:(注:启动的时候报错,如下图,原因在于jdk版本过低,现改为1.8)
这里写图片描述
登陆 http://localhost:8081/nexus/查看

  1. nexus中的仓库
    类型介绍
        登陆Nexus,在左边菜单栏里选择Repositories,然后会出现右边的画面,右边上半部分是列出来的repository,黑体字是类型为group的repository。
        这里简单介绍下几种repository的类型:
        Ø hosted,本地仓库,通常我们会部署自己的构件到这一类型的仓库。比如公司的第二方库。
        Ø proxy,代理仓库,它们被用来代理远程的公共仓库,如maven中央仓库。
        Ø group,仓库组,用来合并多个hosted/proxy仓库,当你的项目希望在多个repository使用资源时就不需要多次引用了,只需要引用一个group即可。
        这里写图片描述

2.2 管理本地仓库
    我们前面讲到类型为hosted的为本地仓库,Nexus预定义了3个本地仓库,分别是Releases, Snapshots, 3rd Party. 分别讲一下这三个预置的仓库都是做什么用的:
  Releases:
    这里存放我们自己项目中发布的构建, 通常是Release版本的, 比如我们自己做了一个FTP Server的项目, 生成的构件为ftpserver.war, 我们就可以把这个构建发布到Nexus的Releases本地仓库. 关于符合发布后面会有介绍.
  Snapshots:
    这个仓库非常的有用, 它的目的是让我们可以发布那些非release版本, 非稳定版本, 比如我们在trunk下开发一个项目,在正式release之前你可能需要临时发布一个版本给你的同伴使用, 因为你的同伴正在依赖你的模块开发, 那么这个时候我们就可以发布Snapshot版本到这个仓库, 你的同伴就可以通过简单的命令来获取和使用这个临时版本.
  3rd Party:
    顾名思义, 第三方库, 你可能会问不是有中央仓库来管理第三方库嘛,没错, 这里的是指可以让你添加自己的第三方库, 比如有些构件在中央仓库是不存在的. 比如你在中央仓库找不到Oracle 的JDBC驱动, 这个时候我们就需要自己添加到3rdparty仓库。

2.3 在Nexus为自己的项目手动单独建库
    建库,Add-- >HostedRepository
    这里写图片描述

建权限
    这里写图片描述

建角色(指定权限)
    这里写图片描述

建用户(指定角色)
    这里写图片描述

2.4 Maven仓库组
    通过前面介绍可以了解到, 我们可以建立多个proxy代理仓库,hosted本地仓库, 如果没有仓库组的概念,我们如果需要引用这些仓库的是时候需要一一加入到我们的setting.xml里面去, 有了仓库的组的概念, 我们只需要做一次引用就可以了,把我们需要的仓库加入到仓库组即可。如下图:
    这里写图片描述

仓库组默认包含本地仓库Releases,snapshots, 3rd party和代理仓库MavenCentral. 你可以在Configuration配置页添加仓库到这个仓库组. 如果需要你还可以创建一个仓库组,在Repositories菜单处选add–>Repository Group即可

  1. 项目中配置Nexus仓库
      如果只有一个项目,可以配置在项目的pom文件中:
      这里写图片描述

如果有多个项目都使用Nexus的配置,可以将如上皮遏制放到Maven的Settings文件中:
  这里写图片描述

  1. 配置仓库镜像
      默认的,如果本地仓库找不到依赖的构件,这时需要东西时先到Nexus上找,如果发现Nexus服务关闭后,会自动到中央仓库找。
      如果我们想覆盖中央仓库的默认地址,强制依赖的东西都到Nexus中去找,即使Nexus关闭也不会到中央工厂去下载:
      修改Maven的Settings文件:
      这里写图片描述

注意,如果本地仓库有东西,但Nexus中没有,需要将该东西考到Nexus仓库中,然后更新仓库索引:
  
这里写图片描述
5. 发布项目至hosted仓库(本地仓库)
命令:mvn deploy
把项目达成jar包部署至nexus服务器上,
还需要在项目的pom.xml中增加如下配置:

    <distributionManagement>
		<repository>
			<id>user-release</id>
			<name>user release resp</name>
			<url>http://localhost:8081/nexus/content/repositories/releases/</url>
		</repository>
		<snapshotRepository>
			<id>user-snapshots</id>
			<name>user snapshots resp</name>
			<url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
		</snapshotRepository>
	</distributionManagement>
同时在setting.xml文件给hosted仓库授权
<server>
  <id>user-release</id>
  <username>deployment</username>
  <password>deployment123</password>
</server>
<server>
  <id>user-snapshots</id>
  <username>deployment</username>
  <password>deployment123</password>
</server>
这时候,项目可以成功发布至本地仓库中。
一般不同的项目发布到不同的本地仓库中,
比如user项目发布至http://localhost:8081/nexus/content/repositories/releases/user-release或者http://localhost:8081/nexus/content/repositories/releases/user-snapshots仓库中,
role项目发布至http://localhost:8081/nexus/content/repositories/releases/role-snapshots或者http://localhost:8081/nexus/content/repositories/releases/role-release仓库中,这时候参考2.3:在Nexus为自己的项目手动单独建库,包括建立权限/角色/用户等。手动建好之后,重新修改pom.xml和setting/xml文档
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值