1.maven仓库分为:本地仓库,远程仓库。远程仓库分为私服、中央仓储和其他公共库。

  2.mvn clean install 部署到本地仓库

  3.mvn clean deploy 部署到远程仓储

  4.有些仓储需要认证信息,在setting.xml文件或者pom文件中指定repositoty的id、username和password。

  5.在setting文件或者pom文件中指定通过repositories标签指定仓库,可以指定哪些是snapshot仓储,哪些是release仓储,在repository标签中的snapshot标签中,可以设置更新策略

  6.SNAPSHOT版本可以设置更新策略,每天、每次、从不或者每隔一段时间。

  7.setting文件可以指定repository的镜像,例如

<mirrors>
<mirror>
<id>aves-snapshots</id>
<mirrorOf>aves-snapshot</mirrorOf>
<url>
http://nexus.aves.auto.sohuno.com/content/repositories/snapshots
</url>
</mirror>
<mirror>
<id>aves-releases</id>
<mirrorOf>aves-release</mirrorOf>
<url>
http://
</url>
</mirror>
<mirror>
<id>nexus</id>
<mirrorOf>central</mirrorOf>
<url>
http://
</url>
</mirror>
</mirrors>

与普通repository的定义类似,将mirrorOf仓库的请求转到此处定义的仓库。

8.实际开发中,可以每次发布都更改版本号,大功能改第二位,小bug改第三位。开发分支可以用snapshot,并将snapshot仓储的更新策略定制为always。

9.有些jar包不在maven仓储中,需要手动部署(部署后,直接重复部署会出错(400)。需要通过仓储的web管理界面将原有jar包删除,才能重复部署):

  •  部署到本地仓库:

  mvn install:install-file -Dfile=/Users/hope/Downloads/webp-imageio-0.4.2/webp-imageio.jar -DgroupId=com.github.lonnyj -DartifactId=webp-imageio-project -Dversion=0.4.2 -Dpackaging=jar

  •  部署到远程仓库:

  mvn deploy:deploy-file -Dfile=/Users/hope/Downloads/webp-imageio-0.4.2/webp-imageio.jar -DgroupId=com.github.lonnyj -DartifactId=webp-imageio-project -Dversion=0.4.2 -Dpackaging=jar -Durl= -DrepositoryId=

10. 关于使用maven

在pom文件中指定 repository (包括release 和snapshot),以及plugin repository,用于下载依赖和插件

pom文件中distributionmanager 指定deploy的仓储

settings 文件中的server指定 仓储的账号和密码

05-11 11:07