- 浏览: 962169 次
- 性别:
- 来自: 江西上饶
文章分类
- 全部博客 (460)
- p.spring (56)
- p.maven (20)
- p.ant (17)
- p.jee (18)
- p.jse (33)
- p.ofbiz (31)
- p.软件工程 (8)
- p.struts2 (5)
- p.hibernate (5)
- linux (25)
- 设计模式 (2)
- p.javascript (11)
- 硬件 (1)
- p.jsp (2)
- p.windows批处理 (1)
- 操作系统问题 (5)
- 算法 (1)
- p.mysql (7)
- p.sql (5)
- p.c (1)
- google产品 (0)
- 内存 (1)
- p.struts (1)
- p.freemarker (7)
- p.css (4)
- p.log4j (10)
- p.html (3)
- 淘宝产品 (0)
- 其他 (3)
- 编译器 (0)
- svn (4)
- p.spring.security (11)
- 图形 (0)
- p.xml (1)
- p.ssh (0)
- p.jquery (4)
- p.jdbc (3)
- p.flex (0)
- p.c++ (0)
- p.c#Net (0)
- p.assembly (0)
- p.sqlserver (0)
- p.其他 (3)
- p.webwork (21)
- p.wap (12)
- p.cglib (1)
- p.jee服务器 (11)
- windows (2)
- p.iphone (1)
- p.java.分布式与集群 (2)
- p.ibatis (16)
- p.eclipse (5)
- 架构 (2)
- http协议 (5)
- 我的个人标准 (2)
- 多线程 (1)
- 奇怪问题 (5)
- p.jira (13)
- p.httpclient (1)
- 服务器.apache (11)
- 安全防范 (1)
- p.PODAM (1)
- p.junit (16)
- fop (2)
- 硬盘安装 (1)
- powerdesigner (0)
- 单元测试 (1)
- apache commons (4)
- tomcat+apache集群 (10)
- 各类诡辩 (1)
- 安卓 (8)
- qvod (1)
- java编程基础知识考试考点及答案 (0)
- 工作总结 (4)
- oracle (0)
- spring的util工具 (3)
- json (2)
- maven (3)
- jms (19)
- p.bat (3)
- hadoop (2)
- git (3)
- nginx (1)
- p.移动开发 (1)
- shiro (3)
- 游戏破解 (1)
- react-native (7)
- ios开发 (1)
- webmagic (6)
- socks5 (1)
最新评论
-
weituotian:
说的不好,没人看的
公司系统中的菜单功能和权限功能 -
石不易:
非常详细的注解~
绑定端口和IP,Listen 与VirtualHost指令 -
spring_springmvc:
spring mvc demo教程源代码下载,地址:http: ...
spring mvc -
liyixing1:
PandaDONG 写道谢谢你啊,我已经下下来了,只是还有很多 ...
jira war安装 -
liyixing1:
PandaDONG 写道谢谢你啊,我已经下下来了,只是还有很多 ...
jira war安装
简介
仓库管理器有两个服务目的:首先它的角色是一个高度可配置的介于你的组织与公开 Maven仓库之间的代理,其次它为你的组织提供了一个可部署你组织内部生成的构件的 地方。
下载与安装
http://nexus.sonatype.org
zip安装
unzip nexus-1.0.0-beta-3-bundle.zip
tgz格式安装
tar xvzf nexus-1.0.0-beta-3-bundle.tgz
需要注意的是,Nexus提供两种版本,OOS和Pro,其中OOS为独立版本,下载后里面自带了一个web服务器,而Pro是纯粹的项目版本war。学习使用的话,更建议OOS版本。
Nexus启动的时候实际上会启动一个WEB服务器。默认地址是 localhost:8081。Nexus在一个名为Jetty的servlet容器中运行。
ln -s nexus-2.11.2-06 nexus cd nexus/bin/ ./nexus console
如果运行成功,可以访问
http://localhost:8081/nexus
默认的NEXUS用户名和密码是"admin" 和 "admin123"
初始化配置
修改管理员密码和email,这些不用说了吧。
smtp配置,这个也不用说了
远程索引配置
Nexus带有三个重要的代理仓库,有中央Maven仓库,Apache快照仓库,和
Codehaus快照仓库。它们中的每一个仓库都包含了数千(或数万)的构件,下载
每个仓库的所有内容是不切实际的。处于这个原因,大部分仓库维护了一个编录
了整个内容的Lucene索引,以提供快速和有效的搜索。
Nexus使用这些远程索引搜索构件,但是默认设置我们关闭了索引下载。因为默认要是打开,那么如果Nexus更新后,那么成千上万个Nexus会自动去下载索引文件,平均一个索引文件有27MB。
设置下载索引,
进入http://localhost:8081/nexus(需要登录,新版本的操作可能有些差异)
1.点击Administration菜单下面的Repositories,新版本的菜单在Views/Repositories
更改三个代理仓库的Download Remote Indexes为true。
2. 在每个代理仓库上右击然后选择Re-index。这会触发Nexus下载远程的索引文
件。
Nexus下载整个索引可能需要好几分钟,但是一旦你下载好之后,你就能够搜索
Maven仓库的所有内容了。
RSS订阅功能
我想MAVEN将Nexus作为仓库默认管理器,和RSS订阅功能有很大关系吧。maven号称不只是构建产品,还是项目管理产品,自然从管理的角度需要提供功能支持,而比如当我们公司内部开发的UTIL包,当该包更新后,肯定会希望通知到全公司的人员,那么RSS功能就能提供支持了。当然邮件系统也可以。
配置Maven使用Nexus
编辑~/.m2/settings.xml 文件中的mirror配置。
<?xml version="1.0"?> <settings> ... <mirrors> <mirror> <id>Nexus</id> <name>Nexus Public Mirror</name> <url>http://localhost:8081/nexus/content/groups/public</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors> ... </settings>
如上指定了中央库<mirrorOf>central</mirrorOf>
上面的配置只是设置的中央库,但是快照仓库public-snapshots 组(该组包括了Apache和Codehaus的快照版)没有设置。
<settings> <mirrors> <mirror> <id>nexus-public-snapshots</id> <mirrorOf>public-snapshots</mirrorOf> <url>http://localhost:8081/nexus/content/groups/public-snapshots</url> </mirror> <mirror> <id>nexus</id> <mirrorOf>*</mirrorOf> <url>http://localhost:8081/nexus/content/groups/public</url> </mirror> </mirrors> <profiles> <profile> <id>development</id> <repositories> <repository> <id>central</id> <url>http://central</url> <releases><enabled>true</enabled></releases> <snapshots><enabled>true</enabled></snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>central</id> <url>http://central</url> <releases><enabled>true</enabled></releases> <snapshots><enabled>true</enabled></snapshots> </pluginRepository> </pluginRepositories> </profile> <profile> <id>public-snapshots</id> <repositories> <repository> <id>public-snapshots</id> <url>http://public-snapshots</url> <releases><enabled>false</enabled></releases> <snapshots><enabled>true</enabled></snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>public-snapshots</id> <url>http://public-snapshots</url> <releases><enabled>false</enabled></releases> <snapshots><enabled>true</enabled></snapshots> </pluginRepository> </pluginRepositories> </profile> </profiles> <activeProfiles> ......
为缺少的依赖添加仓库
对于非组件的依赖,比如在pom.xml 中自定义一组repositories 和snapshotRepositories 的项目。如果你正在构建开源项目,或者往你的配置中添加了自定义的第三方Maven仓库。
方法一:
假设依赖组件X,不在中央仓库,但它的POM中配置了仓库,那么可以修改settings.xml中的 mirrorOf 元素的值改为"central",而非让Nexus public组 mirrorOf 所有的仓库。那么当settings.xml中的仓库无法获取,那么就会从pom设置的仓库中获取。
方法二:
将这些外部组件的仓库添加到Nexus,并把这些仓库指定到组中。
发布版本到Nexus
既然搭建了自己的仓库,那么自己些的组建应该要发布到该仓库,以提供组织内部使用。
要部署构件至Nexus,在 distributionManagement 中提供仓库URL,然后运行mvn
deploy。Maven会通过一个简单的HTTP PUT将项目POM和构件推入至你的Nexus安装。最初版本的Nexus没有为宿主仓库提供任何的安全措施。如果你为宿主仓库开启了部署功能,任何人可以连接并部署构件至这个仓库。如果你的Nexus安装能够从公共Internet访问,你绝对会想要将这些仓库的部署功能关闭,或者将你的Nexus安装放到一个如Apache HTTPD的web服务器背后,这样就可以通过Apache的httd提供的验证功能来验证了。
<project> ... <distributionManagement> ... <repository> <id>releases</id> <name>Internal Releases</name> <url>http://localhost:8081/nexus/content/repositories/releases</url> </repository> ... </distributionManagement> ... </project>
快照版
<project> ... <distributionManagement> ... <snapshotRepository> <id>Snapshots</id> <name>Internal Snapshots</name> <url>http://localhost:8081/nexus/content/repositories/snapshots</url> </snapshotRepository> ... </distributionManagement> ... </project>
需要注意的是,只有当版本号具有快照签名才会发布到快照版本。
(如1.0-SNAPSHOT)
第三方组件仓库
比如想mysql的jdbc驱动,如果期望把它部署到nexus中,nexus提供了一个third-party仓库
如果你将下列的依赖添加到你的项目:
<project> ... <dependencies> ... <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc14</artifactId> <version>10.2.0.3.0</version> </dependency> ... </dependencies> ... </project>
这个时候无法找到这个jar
这个时候需要通过命令把该构建包发送到nexus,并存入第三方组件仓库
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
发表评论
-
Invalid signature file digest for Manifest main attributes
2015-09-23 14:26 8313java.lang.SecurityException: In ... -
Unable to locate Spring NamespaceHandler for XML schema namespace
2015-09-23 14:00 2328org.springframework.beans.facto ... -
利用maven的filter和profile实现不同环境使用不同的配制
2015-07-30 12:54 723通过命令行模式 https://liyixing1.itey ... -
Profile
2015-03-30 11:55 633Profile是可以在指定环境通过指定指令或者自动触发,用来 ... -
settings.xml
2014-12-31 10:41 754settings.xml文件可以放在两个地方 • Maven安 ... -
项目依赖
2014-12-30 22:19 646依赖具有范围,默认为全局范围 也可以指定依赖范围 Maven ... -
属性 自定义属性 资源过滤
2014-12-30 21:57 1248通过${}访问属性 。Mave ... -
版本号规范,镜像版本SNAPSHOT,LATEST 和 RELEASE 版本
2014-12-30 16:46 6148如果版本号不遵守maven规范,那么maven在对版本进行排序 ... -
依赖传递分析 dependency 插件
2014-12-30 15:29 975基本分析: mvn dependency:analyze 可 ... -
多模块项目
2014-12-29 17:02 508多模块首先需要创建一个父项目,父项目负责对子项目的管理,按照规 ... -
archetype
2014-12-28 21:15 766网址 该插件为maven原型插件,该插件平台上存储了多种常见的 ... -
打包插件 assembly
2014-12-27 14:14 786http://maven.apache.org/plugins ... -
测试插件,surefire-plugin
2014-12-27 13:41 884主页 完整参数 maven默认配置已经加载过该插件 相当于 ... -
插件,插件目标,生命周期,坐标,仓库,依赖管理
2014-12-25 16:07 491插件与目标(Plugins and g ... -
help插件
2014-12-24 15:56 733Maven Help 插件有四个目标。前三个目标是—— act ... -
pom.xml
2014-12-24 13:57 741每个maven文件都需要一 ... -
安装maven及测试第一个项目
2014-12-23 11:57 510maven需要配置几个环境变量 M2_HOME,用来指定mav ... -
maven的优势理解
2014-12-23 11:51 10131.对于svn等版本控制的库而言,具有减少上传空间的作用,这个 ... -
maven转eclipse JEE应用
2011-06-19 15:26 2439我的maven结构是 外层应用 biz应用 web应用 创 ...
相关推荐
ansible-nexus3-oss, Ansible角色为 redhat/centos提供 Nexus 仓库管理器 3.x Ansible角色:Nexus 3-操作系统这里角色在 centos/rhel上安装和配置 Nexus 存储库管理器 操作系统 版本 3.x 。除了 blobstores -related...
**Nexus仓库管理器详解** 1. **功能特性** - **依赖管理**:Nexus作为中央仓库,可以缓存远程Maven或Gradle仓库的依赖,减少网络延迟,提高构建速度。 - **代理仓库**:它能够代理JCenter、Maven Central等公共...
Nexus 仓库管理是 Maven 仓库管理的重要组成部分,它提供了一个完整的仓库管理解决方案,允许用户创建公司层面的仓库管理器,解决了多个项目之间的依赖问题。 Maven 仓库管理的优点包括: * 实现了依赖管理的方便...
标题中的"nexus-webapp-1.9.2.4安装文件"指的是Nexus仓库管理器的一个特定版本,即1.9.2.4。这个版本的Nexus是作为Web应用程序来部署的,因此以".war"(Web ARchive)文件格式提供。.war文件是Java Web应用的标准...
标题 "nexus-3.3.0-01" 指的是 Nexus 仓库管理器的一个具体版本,即 3.3.0-01。Nexus 是 Sonatype 公司开发的一款开源软件,用于管理和分发 Maven、npm、NuGet、Python 等不同包管理系统的组件。它在软件开发流程中...
标题中的“nexus conan 插件”指的是Nexus仓库管理器中用于支持Conan包管理的插件。这个插件允许用户在Nexus中管理和分发Conan包,为C++项目提供了企业级的依赖管理解决方案。 通过安装Nexus Conan插件,你可以实现...
Nexus仓库管理器是一款专业的软件仓库管理工具,广泛用于管理各种软件组件,例如源代码、二进制包以及配置文件等。它支持多种协议,包括Maven、npm、NuGet、P2、RubyGems、YUM等,并提供强大的权限控制与分发机制。...
标题 "nexus-webapp-1.5.0-bundle" 提供了我们正在讨论的是 Nexus 仓库管理器的一个特定版本,即 1.5.0 版本的 Web 应用程序捆绑包。Nexus 是一个由 Sonatype 公司开发的开源软件,主要用于管理和分发 Maven 构件,...
在标签中,“nexus”是关键词,它直接关联到这个话题的核心——Nexus仓库管理器。标签通常用于分类和搜索,帮助用户快速找到相关的资源和讨论。 关于"nexus-3.32.0"的压缩包,我们可以预想其中可能包含以下组件: ...
Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库 下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地架设一个Maven仓库服务器,在代理远程仓库的同时维护本地仓库,以节省...
标题提到的"maven私服tar包(nexus_linux).zip"是针对Linux环境的Nexus仓库管理器的压缩包,其中包含了"Nexus-3.15.2-01-unix.tar.gz"文件。这个版本的Nexus是专为Linux系统设计的,提供了一种方便的方式来在Linux...
【Android Gradle 插件】将自定义 Gradle 插件上传到自建 Maven 仓库 ⑤ ( 使用 Sonatype Nexus 搭建 Maven 仓库 ) https://hanshuliang.blog.csdn.net/article/details/127385094 博客资源
### 关于Nexus仓库管理器的关键知识点 #### 一、Nexus仓库管理器概述 Nexus Repository Manager(简称Nexus)是一款由Sonatype公司开发的仓库管理工具,它主要用于管理和分发各种类型的软件包,包括但不限于Java、...
标题中的"Linux版nexus3.40.1"指的是Nexus仓库管理器的特定版本,版本号为3.40.1,专为Linux操作系统设计。这个版本可能包含了对Linux平台的优化和增强,以确保在Linux环境下的稳定运行和高效性能。 描述中的"0积分...
首先,“nexus”是Nexus仓库管理器的名称,表明这是与该软件相关的文件。接着,“3.26.1-02”是版本号,表示这是Nexus的一个特定发行版,通常每个版本都会包含性能优化和新特性。最后,“win64”意味着这个版本是为...
Nexus是Sonatype公司开发的一款强大的仓库管理工具,它在Java开发领域中广泛应用于构建私有的Maven仓库,便于管理和分发内部软件组件。私有仓库可以存储公司的内部构件,同时也可以作为Maven中央仓库的镜像,提高...
nexus-maven仓库管理软件-使用手册(pdf格式)
Nexus 3.26是Nexus仓库管理器的一个版本,专为Windows系统设计。它不仅支持Maven仓库,还支持npm、Gradle、RubyGems等多种语言的依赖管理。通过Nexus,开发者可以创建并维护自己的镜像仓库,从而实现对依赖的本地化...
标签“Nexus”进一步确认了我们讨论的主题,即Nexus仓库管理器,它是Java生态系统中不可或缺的一部分,因为它可以帮助开发者集中存储和管理各种项目依赖,确保构建的一致性和可重复性。 压缩包子文件的文件名称列表...
总结,"nexus-3.18.1-01-win64.zip"是一个适用于Windows 64位系统的Nexus仓库管理器的最新版本,包含了丰富的功能和优化,旨在提升开发团队的工作效率和项目的稳定性。通过合理的配置和使用,Nexus能成为企业软件...