首先需要使用git客户端从github下载nexus的最新源码:https://github.com/sonatype/nexus
因为nexus本身就是一个非常复杂的maven项目,因为我们只能使用maven来编译。如果我直接编译,nexus就会报各种找不到包的错误。
原因是我们需要把nexus官方的一个仓库加入到maven的settings文件中。代码为:
<settings> <profiles> <profile> <id>sonatype-forge</id> <repositories> <repository> <id>sonatype-forge</id> <url>http://repository.sonatype.org/content/groups/forge/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>sonatype-forge</id> <url>http://repository.sonatype.org/content/groups/forge/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories> </profile> </profiles> <activeProfiles> <activeProfile>sonatype-forge</activeProfile> </activeProfiles> </settings>
然后再次编译,就应该可以构建成功了。由于nexus的仓库在国外,个人感觉速度比maven中央仓库要慢一个等级。在编译过程中,maven会自动执行一些插件和完成相关的单元测试。大概等待1-2个小时左右(由电脑性能和网络决定),就可以编译完成了。