以下内容参考于:http://blog.csdn.net/mexican_jacky/article/details/50275695
nexus在Maven配置文件(setting.xml)常用的设置为:
(1)
<profiles> <profile> <id>nexus_Repository</id> <repositories> <repository> <id>nexus</id> <name>nexus is Repository</name> <url>http://localhost:8081/nexus/content/groups/public/</url> <!-- 默认就是true --> <releases> <enabled>true</enabled> </releases> <!-- 默认是是false,需手动打开 设置为true --> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> </profile> </profiles> <!-- 这里必须激活profile 才能生效 --> <activeProfiles> <activeProfile>nexus_Repository</activeProfile> </activeProfiles>
这种方式在nexus服务器停止的了,maven有会从maven的中央工厂mvnrepository进行下载,
这是因为,Maven项目首先回去nexus中去找,当它发现nexus服务停止这个时候它就回去找Maven的工厂。
(2)配置镜像:
<mirrors> <mirror> <id>mirrorNexusId</id> <!-- *号代表所有工厂镜像 ,当Maven进来之后,不管什么工厂都回去找URL的地址去下载 --> <mirrorOf>*</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://localhost:8081/nexus/content/groups/public/</url> </mirror> </mirrors> <!-- 这里的工厂配置,是Maven中的,起snapshots是false,我们可以通过这种方式将其激活,就可以访问中央工厂中snapshots --> <profiles> <profile> <id>nexusRepository</id> <repositories> <repository> <id>central</id> <name>Central Repository</name> <url>https://repo.maven.apache.org/maven2</url> <layout>default</layout> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> </profile> </profiles> <!-- 这里必须激活profile 才能生效 --> <activeProfiles> <activeProfile>nexusRepository</activeProfile> </activeProfiles>
当我们发现Nexus服务停止了就不能下载,而只能从Nexus中下载,这是推荐的作法。这意味这mirrors覆盖了profile的使用。因为任何url都指向mirrors。
(3)当需要把项目增加到nexus时,需如下配置:
以下内容参考于:http://juvenshun.iteye.com/blog/349534
pom.xml:
<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>
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>
这里我们配置所有的snapshot版本构件部署到Nexus的Snapshots仓库中, 所有的release构件部署到Nexus的Releases仓库中。由于部署需要登陆,因为我们在settings.xml中配置对应Repository id的用户名和密码。
然后,在项目目录中执行mvn deploy ,你会看到maven将项目构件部署到Nexus中,浏览Nexus对应的仓库,就可以看到刚才部署的构件。当其他人构建其项目时,Maven就会从Nexus寻找依赖并下载。
时间: 2024-10-25 19:31:51