Java Maven


2.仓库

任何一个依赖、插件或者项目构建的输出,都可以称为构件。


2.1 仓库的布局


groupId/artifactId/version/artifactId-version.packaging


2.2 仓库的分类

对Maven来说,仓库只分为两类:本地仓库和远程仓库。


Maven仓库->|

            |->本地仓库

            |->远程仓库->|

                        |->中央仓库

                        |->私服

                        |->其他公共库


① 本地仓库的配合 ~/.m2/setting.xml

<localRepository>E:/m2re</localRepository>

 

② 远程仓库的配置 pom.xml



<repositories>
  	<repository>
  		<id>jboss</id>
  		<name>JBoss Repository</name>
  		<url>http://repository.jboss.com/maven2/</url>
  		<releases>
  			<enabled>true</enabled>
  		</releases>
  		<snapshots>
  			<enabled>false</enabled>
  		</snapshots>
  	</repository>
  </repositories>

releases、snapshots的其他标签

       <snapshots>

           <enabled>false</enabled>

           <updatePolicy>daily</updatePolicy>

           <checksumPolicy>ignore</checksumPolicy>

       </snapshots>



updatePolicy 配置从远程仓库检查更新的频率。默认daily,每天一次。

never - 从不检查更新

always - 每次构件都检查

interval:X - 每隔X分钟检查一次(X任意整数)

 

checksumPolicy 用来配置Maven检查检验和文件的策略。

默认 warn, Maven会在执行构建时输出警告信息。

fail - Maven遇到校验和错误就让构件失败。

ignore - 使Maven完全忽略校验和错误。



2.3 部署至远程仓库


参考部署至私服 nexus(仓库配置和认证信息)。


2.4 镜像


</mirrors>
	<mirror>
		<id>nexus</id>
		<mirrorOf>*</mirrorOf>
		<name>Human Readable Name for this Mirror.</name>
		<url>http://localhost:8081/nexus/content/groups/public/</url>
	</mirror>
</mirrors>

镜像高级配置:

<mirrorOf>*</mirrorOf> : 匹配所有远程仓库。

<mirrorOf>external:*</mirrorOf> : 匹配所有远程仓库,使用localhost除外,使用file://协议的除外。即皮蓬所有不在本机上的远程仓库。

<mirrorOf>repo1,repo2</mirrorOf> : 匹配仓库repo1和repo2。

<mirrorOf>*,!repo1</mirrorOf> : 匹配所有远程仓库,repo1除外。

由于镜像仓库完全屏蔽了被镜像仓库,当镜像仓库不稳定或者停止服务的时候,Maven仍将无法访问被镜像仓库,因而将无法下载构件。



学习资料: 《maven实战》


(图片来源网络!





转载请指明出处!http://www.miselehe.com/article/view/9