- 浏览: 939475 次
- 性别:
- 来自: 江西上饶
文章分类
- 全部博客 (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 8140java.lang.SecurityException: In ... -
Unable to locate Spring NamespaceHandler for XML schema namespace
2015-09-23 14:00 2289org.springframework.beans.facto ... -
利用maven的filter和profile实现不同环境使用不同的配制
2015-07-30 12:54 680通过命令行模式 https://liyixing1.itey ... -
Profile
2015-03-30 11:55 585Profile是可以在指定环境通过指定指令或者自动触发,用来 ... -
settings.xml
2014-12-31 10:41 717settings.xml文件可以放在两个地方 • Maven安 ... -
项目依赖
2014-12-30 22:19 609依赖具有范围,默认为全局范围 也可以指定依赖范围 Maven ... -
属性 自定义属性 资源过滤
2014-12-30 21:57 1199通过${}访问属性 。Mave ... -
版本号规范,镜像版本SNAPSHOT,LATEST 和 RELEASE 版本
2014-12-30 16:46 6068如果版本号不遵守maven规范,那么maven在对版本进行排序 ... -
依赖传递分析 dependency 插件
2014-12-30 15:29 915基本分析: mvn dependency:analyze 可 ... -
多模块项目
2014-12-29 17:02 470多模块首先需要创建一个父项目,父项目负责对子项目的管理,按照规 ... -
archetype
2014-12-28 21:15 723网址 该插件为maven原型插件,该插件平台上存储了多种常见的 ... -
打包插件 assembly
2014-12-27 14:14 740http://maven.apache.org/plugins ... -
测试插件,surefire-plugin
2014-12-27 13:41 822主页 完整参数 maven默认配置已经加载过该插件 相当于 ... -
插件,插件目标,生命周期,坐标,仓库,依赖管理
2014-12-25 16:07 452插件与目标(Plugins and g ... -
help插件
2014-12-24 15:56 688Maven Help 插件有四个目标。前三个目标是—— act ... -
pom.xml
2014-12-24 13:57 693每个maven文件都需要一 ... -
安装maven及测试第一个项目
2014-12-23 11:57 469maven需要配置几个环境变量 M2_HOME,用来指定mav ... -
maven的优势理解
2014-12-23 11:51 9691.对于svn等版本控制的库而言,具有减少上传空间的作用,这个 ... -
maven转eclipse JEE应用
2011-06-19 15:26 2388我的maven结构是 外层应用 biz应用 web应用 创 ...
相关推荐
ansible-nexus3-oss, Ansible角色为 redhat/centos提供 Nexus 仓库管理器 3.x Ansible角色:Nexus 3-操作系统这里角色在 centos/rhel上安装和配置 Nexus 存储库管理器 操作系统 版本 3.x 。除了 blobstores -related...
Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库 下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地架设一个Maven仓库服务器,在代理远程仓库的同时维护本地仓库,以节省...
nexus-maven仓库管理软件-使用手册(pdf格式)
nexus设置私有仓库和仓库管理
nexus官网下载的关于对nexus仓库管理器的介绍和使用。
Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库 下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地架设一个Maven仓库服务器,在代理远程仓库的同时维护本地仓库,以节省...
可用的nexus仓库管理免费下载
Maven私服搭建必备,完整的Maven私服和本地仓库搭建步骤
Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库 下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地架设一个Maven仓库服务器,在代理远程仓库的同时维护本地仓库,以节省带宽...
Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用Nexus你可以只在一个地方就能够完全控制访问和部署在你所维护仓库中的每个Artifact。 Nexus是一套“开箱即用”的系统不...
Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库 下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地架设一个Maven仓库服务器,在代理远程仓库的同时维护本地仓库,以节省...
It doesn't feel like it's been long since we officially launched Vortex - our new mod manager - back in July but that was 4 months ago! Over that time, the Vortex team have been hard at work going ...
Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用Nexus你可以只在一个地方就能够完全控制访问 和部署在你所维护仓库中的每个Artifact。Nexus是一套“开箱即用”的系统不...
Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用Nexus你可以只在一个地方就能够完全控制访问 和部署在你所维护仓库中的每个Artifact。Nexus是一套“开箱即用”的系统不...
Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库 下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地架设一个Maven仓库服务器,在代理远程仓库的同时维护本地仓库,以节省...
Nexus是一个强大的Maven仓库管理器,它极大地简化了本地内部仓库的维护和外部仓库的访问。 如果使用了公共的Maven仓库服务器,可以从Maven中央仓库下载所需要的构件(Artifact),但这通常不是一个好的做法。 正常...
自己写的一份关于maven + nexus仓库管理的使用手记 包括了nexus的基本使用及nexus权限管理等
【Android Gradle 插件】将自定义 Gradle 插件上传到自建 Maven 仓库 ⑤ ( 使用 Sonatype Nexus 搭建 Maven 仓库 ) https://hanshuliang.blog.csdn.net/article/details/127385094 博客资源
Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用Nexus你可以只在一个地方就能够完全控制访问 和部署在你所维护仓库中的每个Artifact。Nexus是一套“开箱即用”的系统不...
Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用Nexus你可以只在一个地方就能够完全控制访问 和部署在你所维护仓库中的每个Artifact。Nexus是一套“开箱即用”的系统不...