mvn install 会将项目生成的构件安装到本地Maven仓库,
mvn deploy 用来将项目生成的构件分发到远程Maven仓库。本地Maven仓库的构件只能供当前用户使用,在分发到远程Maven仓库之后,所有能访问该仓库的用户都能使用你的构件。
mvn deploy 用来将项目生成的构件分发到远程Maven仓库。本地Maven仓库的构件只能供当前用户使用,在分发到远程Maven仓库之后,所有能访问该仓库的用户都能使用你的构件。
我们需要配置POM的distributionManagement来指定Maven分发构件的位置,如下:
< project >
...
< distributionManagement >
< repository >
< id >nexus-releases</ id >
< name >Nexus Release Repository</ name >
< url >http://127.0.0.1:8080/nexus/content/repositories/releases/</ url >
</ repository >
< snapshotRepository >
< id >nexus-snapshots</ id >
< name >Nexus Snapshot Repository</ name >
< url >http://127.0.0.1:8080/nexus/content/repositories/snapshots/</ url >
</ snapshotRepository >
</ distributionManagement >
...
</ project >
通常在发布远程构件时,需要用户认证信息,如果没有认证信息,会得到401错误,需要我们在setting.xml配置认证信息如下:
< settings >
...
< servers >
< server >
< id >nexus-releases</ id >
< username >admin</ username >
< password >admin123</ password >
</ server >
< server >
< id >nexus-snapshots</ id >
< username >admin</ username >
< password >admin123</ password >
</ server >
</ servers >
...
</ settings >