一.安装下载nexus
1.1下载nexus
访问http://nexus.sonatype.org/downloads/,我下载的是nexus-3.0.2-02-unix.tar.gz版本
1.2安装nexus
tar -zxvf nexus-3.0.2-02-unix.tar.gz
ln -s nexus-3.0.2-02 nexus(做一个软链接)
1.3运行nexus
启动nexus就是启动一个jetty服务器,默认端口是8081,./bin/nexus run
....nexus3.0需要jdk1.8以上才支持,默默的又下载一个nexus-2.14.0-01-bundle.tar包
nexus2.14版本启动的命令是./bin/nexus start,第一次启动可能要几分钟时间
在浏览器中输入http://ip:8081/nexus,就会看到以下的界面
1.4登陆nexus
点击右上角log in ,输入用户名amdin 密码admin123登陆
1.5 更改nexus的默认配置
1.5.1修改密码
点击右上角admin->profile,在出现的页面中点击change password
1.5.2开启远程索引下载
Nexus带有三个重要的代理仓库,有中央Maven仓库,Apache快照仓库,和Codehaus快照仓库。它们中的每一个仓库都包含了数千(或数万)的构件,下载每个仓库的所有内容是不切实际的。处于这个原因,大部分仓库维护了一个编录了整个内容的Lucene索引,以提供快速和有效的搜索。Nexus使用这些远程索引搜索构件,但是默认设置我们关闭了索引下载。要下载远程索引
1.打开Repositories标签,选中远程仓库并打开Configuration,将Download Romote Location 设置为true
2. 在远程仓库上右键选择Update Index,Nexus会自动建立一条任务计划;一般远程仓库都比较大,构建会比较多,索引文件会很大,像http://repo1.maven.org/maven2/就有几百M,因此需要的时间就比较长。
可以进入Scheduled Tasks查看任务的执行情况,当执行完成时,远程仓库的索引就已经建立完毕了.(自动更新太慢了,建议手动更新)
下载完成index之后可以从browse index中看到
2.手动更新
在http://repo.maven.apache.org/maven2/.index/ 中下载
nexus-maven-repository-index.gz
nexus-maven-repository-index.properties
然后再下载一个indexer-cli-5.1.0.jar
indexer的下载地址:http://maven.outofmemory.cn/org.apache.maven.indexer/indexer-cli/5.1.0/
将上面三个文件(.gz & .properties & .jar)放置到同一目录下,运行如下命令
java -jar indexer-cli-5.1.0.jar -u nexus-maven-repository-index.gz -d indexer
将{nexus_home}\sonatype-work\nexus\indexer\central-ctx下的文件全部删掉
执行完之后,把indexer下的所有内容都复制到%nexus-home%\sonatype-work\nexus\indexer\central-ctx下面
重新启动nexus,进入管理界面,选择central->Browse Index,就看到更新的索引了。
二.管理仓库
代理仓库
一个代理仓库是对远程仓库的一个代理。默认情况下,Nexus自带了如下配置的代理仓库:
Apache Snapshots
这个仓库包含了来自于Apache软件基金会的快照版本。http://people.apache.org/repo/m2-snapshot-repositoryCodehaus Snapshots这个仓库包含了来自于Codehaus的快照版本。http://snapshots.repository.codehaus.org/
Central Maven Repository
这是中央Maven仓库(发布版本)。 http://repo1.maven.org/maven2/
宿主仓库
一个宿主仓库是由Nexus托管的仓库。Maven自带了如下配置的宿主仓库。
3rd Party
这个宿主仓库应该用来存储在公共Maven仓库中找不到的第三方依赖。这种依赖的样例有:你组织使用的,商业的,私有的类库如Oracle JDBC驱动。
Releases
这个宿主仓库是你组织公布内部发布版本的地方。
Snapshots
这个宿主仓库是你组织发布内部快照版本的地方。
虚拟仓库
一个虚拟仓库作为Maven 1的适配器存在。Nexus自带了一个central-m1虚拟仓库。
Type:
hosted,本地代理仓库,通常我们会部署自己的构件到这一类型的仓库。
proxy,代理的远程仓库,它们被用来代理远程的公共仓库,如maven中央仓库。
group,仓库组,用来合并多个hosted/proxy仓库,通常我们配置maven依赖仓库组。
三.部署构建到nexus
3.1部署发布版本
需要配置distributionManagement,项目有了这个配置就可以执行mvc deploy命令了
<project> ... <distributionManagement> ... <repository> <id>releases</id> <name>Internal Releases</name> <url>http://localhost:8081/nexus/content/repositories/releases</url> </repository> ... </distributionManagement> ... </project>
Nexus可以支持多个宿主仓库;你不需要坚持在默认的 releases 和 snapshots 仓库上。你可以为不同的部门创建不同的宿主仓库,然后将多个仓库组合成一个单独的Nexus组。
3.2部署快照版本
如果你项目的版本是快照版本(如1.0-SNAPSHOT)Maven就会将其部署至 snapshotRepository :
<project> ... <distributionManagement> ... <snapshotRepository> <id>Snapshots</id> <name>Internal Snapshots</name> <url>http://localhost:8081/nexus/content/repositories/snapshots</url> </snapshotRepository> ... </distributionManagement> ... </project
3.3部署第三方构件
DgroudId 和artifactId分别代表第三方构件的id
mvn deploy:deploy-file -DgroupId=com.oracle -DartifactId=ojdbc14 \ > -Dversion=10.2.0.3.0 -Dpackaging=jar -Dfile=ojdbc.jar \ > -Durl=http://localhost:8081/nexus/content/repositories/thirdparty \ > -DrepositoryId=thirdparty
相关推荐
##### 3.2 创建 Nexus 代理仓库 1. **添加代理仓库**:同样在 Repositories 选项卡中点击 Add 按钮,选择 Proxy Repository。 2. **配置代理**:配置代理的目标仓库地址、ID 和名称等信息。 3. **高级配置**:还...
Proxy仓库是Nexus对远程仓库的代理,它可以缓存远程仓库的内容,提高下载速度。Hosted仓库用于存储我们自己的组件,可以是内部开发的库或者定制的第三方库。Group仓库则可以聚合多个仓库,包括proxy和hosted,提供一...
此外,掌握如何通过Maven的settings.xml文件配置Nexus代理仓库也非常重要,这样在构建项目时,Maven会自动通过Nexus获取依赖。 总的来说,Nexus是一个强大且灵活的工具,对于大型Java项目和团队协作非常有帮助。...
Nexus本地仓库是Maven构建过程中的一个重要组件,它作为一个代理服务器,缓存远程Maven仓库的工件,从而提高构建速度并降低对外部网络的依赖。以下是对Nexus安装配置和Maven安装配置的详细步骤及知识点的阐述: 1. ...
3. **代理仓库(Proxy Repositories)**:Nexus可以作为代理,通过配置连接到外部仓库,为内部网络提供一个高速缓存,减少网络延迟。 4. **组仓库(Group Repositories)**:组仓库允许你将多个仓库聚合在一起,...
4. 配置 Maven、Gradle 或其他构建工具的 settings.xml 或者 ~/.gradle 目录,指向 Nexus 代理仓库地址。 5. 测试 Nexus 服务是否正常运行,通过浏览器访问 `http://localhost:8081/nexus/`。 在日常运维中,监控 ...
- **代理仓库**:Nexus 可以作为 Maven 中央仓库和其他外部仓库的代理,缓存常用依赖,减少网络请求,提高构建速度。 - **集团仓库**:将多个仓库(如公共仓库、第三方库、自定义组件)组合在一起,为开发者提供...
### 使用Nexus作为Maven私有仓库全攻略 #### Nexus简介 Nexus是由Sonatype公司推出的一款强大的Maven仓库管理工具... 这样,Maven项目就能够通过配置好的Nexus代理仓库进行构件的下载和上传,实现高效稳定的构件管理。
3. **配置仓库**:登录Nexus管理界面,创建不同的仓库类型,如代理仓库(proxy repository)连接到Maven中央仓库,以及宿主仓库(hosted repository)用于存放自定义构件。 4. **配置Maven**:在`settings.xml`文件...
- 在`~/.m2/settings.xml`中配置Nexus代理仓库和集团仓库,包括ID、URL等信息。 - 如果需要发布构件,还需配置签名和部署设置。 6. **使用Nexus** - 管理仓库:通过Web界面创建、删除和配置各种仓库类型。 - ...
Nexus的使用首先需要理解其基本概念,如宿主仓库、代理仓库和集团仓库。宿主仓库用于存放项目自产的构件,代理仓库则用于获取外部公开的Maven构件,集团仓库则整合所有仓库,提供统一的访问入口。在设置Nexus时,...
Nexus默认远程仓库为...这里为大家添加阿里云代理仓库 第一步,添加proxy 录入完成后别忘了保存。 第二步,仓库组Public Repositories中添加aliyun 第三步,更新索引可选 索引包较大,建议网上下载离线版
1. **Maven仓库管理**:Nexus支持Maven的本地仓库、代理仓库和集团仓库功能。本地仓库用于存储项目已下载的依赖,代理仓库可以缓存远程仓库的组件,减少网络请求,集团仓库则可以聚合多个仓库,简化配置。 2. **npm...
6. **配置Maven**:在开发机器的Maven settings.xml文件中,添加Nexus的代理仓库地址,以便Maven能通过Nexus获取依赖。 7. **持续集成**:将Nexus与持续集成(CI)系统如Jenkins、GitLab CI/CD等集成,确保构建过程中...
Nexus不仅能够作为代理仓库,获取远程Maven中央仓库的依赖,还可以作为内部仓库,存储和分发组织内部的构建成果,确保对敏感依赖的控制和管理。 2. **Maven仓库**: Maven仓库是Maven项目管理框架的一部分,用于...
代理仓库(proxy):用来代理远程公共仓库,如 Maven 中央仓库、JBoss 远程仓库。 宿主仓库(hosted):又称 Nexus 本地仓库,该仓库通常用来部署本地项目所产生的构件。 仓库组(group):用来聚合代理仓库和宿主...
3. **构建脚本**:在Hudson的构建配置中,编写或指定Maven的pom.xml文件,确保它指向Nexus代理仓库。 4. **插件集成**:利用Hudson的插件系统,可以集成各种工具,如Junit进行单元测试,SonarQube进行代码质量检查。...
1. **代理仓库**:Nexus可以作为远程仓库的代理,缓存常用的依赖,减少网络请求,提高开发效率。 2. **存储库群组**:可以将多个仓库组合成一个群组,方便开发者统一访问。 3. **宿主仓库**:Nexus允许用户创建...
6. **配置Maven**:在Maven的`settings.xml`文件中配置Nexus的代理仓库地址,这样Maven在构建时就会优先从Nexus获取依赖。 ** 注意事项 ** - 安装Nexus时,确保系统上没有其他服务占用8081端口,否则需要手动更改...