关闭

2013-12-16 21:06 45684人阅读 评论(8) 收藏 举报

本文章已收录于:

.embody { padding: 10px 10px 10px; margin: 0 -20px; border-bottom: solid 1px #ededed }
.embody_b { margin: 0; padding: 10px 0 }
.embody .embody_t,.embody .embody_c { display: inline-block; margin-right: 10px }
.embody_t { font-size: 12px; color: #999 }
.embody_c { font-size: 12px }
.embody_c img,.embody_c em { display: inline-block; vertical-align: middle }
.embody_c img { width: 30px; height: 30px }
.embody_c em { margin: 0 20px 0 10px; color: #333; font-style: normal }

私服是什么

私服,私有服务器,是公司内部Maven项目经常需要的东东,不总结一下,不足以体现出重视。Nexus是常用的私用Maven服务器,一般是公司内部使用。下载地址是http://www.sonatype.org/nexus/Go。默认端口8081,这里我选择最新版nexus-2.5.0-04。

常用功能

Nexus常用功能就是:指定私服的中央地址、将自己的Maven项目指定到私服地址、从私服下载中央库的项目索引、从私服仓库下载依赖组件、将第三方项目jar上传到私服供其他项目组使用。

开启Nexus服务后访问url地址http://localhost:8081/nexus/(推荐使用自己的ip地址),之后登录系统,用户名密码分别是:admin/admin123.

最频繁的就是点击左侧菜单栏的Repositories按钮

一般用到的仓库种类是hosted、proxy。Hosted代表宿主仓库,用来发布一些第三方不允许的组件,比如Oracle驱动、比如商业软件jar包。Proxy代表代理远程的仓库,最典型的就是Maven官方中央仓库、JBoss仓库等等。如果构建的Maven项目本地仓库没有依赖包,那么就会去这个代理站点去下载,那么如果代理站点也没有此依赖包,就回去远程中央仓库下载依赖,这些中央仓库就是proxy。代理站点下载成功后再下载至本机。笔者认为,其实Maven这个自带的默认仓库一般情况下已经够大多数项目使用了。特殊情况时在配置新的仓库,指定url即可,一般熟悉ExtJS的人操作这个Nexus都没什么问题,单词不是很难,不明白的查查单词基本差不多。就是如果Sonatype公司对其做了国际化的处理就更好了。


hosted   类型的仓库,内部项目的发布仓库

releases 内部的模块中release模块的发布仓库

snapshots 发布内部的SNAPSHOT模块的仓库

3rd party 第三方依赖的仓库,这个数据通常是由内部人员自行下载之后发布上去

proxy   类型的仓库,从远程中央仓库中寻找数据的仓库

group   类型的仓库,组仓库用来方便我们开发人员进行设置的仓库

maven项目索引

下载Maven项目索引,项目索引是为了使用者能够在私服站点查找依赖使用的功能


保存后后台会运行一个任务,点击菜单栏的Scheduled Tasks选项即可看到有个任务在RUNNING。 下载完成后,Maven索引就可以使用了,在搜索栏输入要搜索的项,就可以查到相关的信息。例如spring-core

就可以检索出它的相关信息,包括怎么配置依赖信息。我们要想使用这个私服仓库,先在项目pom中配置相关私服信息

指定仓库

  1. <repositories>
  2. <repository>
  3. <id>nexus</id>
  4. <name>nexus</name>
  5. <url>http://192.168.1.103:8081/nexus/content/groups/public/</url>
  6. <releases>
  7. <enabled>true</enabled>
  8. </releases>
  9. <snapshots>
  10. <enabled>true</enabled>
  11. </snapshots>
  12. </repository>
  13. </repositories>

指定插件仓库

  1. <pluginRepositories>
  2. <pluginRepository>
  3. <id>nexus</id>
  4. <name>nexus</name>
  5. <url>http://192.168.1.103:8081/nexus/content/groups/public/</url>
  6. <releases>
  7. <enabled>true</enabled>
  8. </releases>
  9. <snapshots>
  10. <enabled>true</enabled>
  11. </snapshots>
  12. </pluginRepository>
  13. </pluginRepositories>

这样只有本项目才在私服下载组件
这样这个Maven项目构建的时候会从私服下载相关依赖。当然这个配置仅仅是在此项目中生效,对于其他项目还是不起作用。如果相对Maven的其他项目也生效的话。需要修改全局的settings.xml文件。

修改settings.xml为

追加激活profile

  1. <activeProfiles>
  2. <activeProfile>central</activeProfile>
  3. </activeProfiles>

之后所有本机的Maven项目就在私服下载组件。(这样比较好)

项目的发布

  1. <distributionManagement>
  2. <repository>
  3. <id>user-release</id>
  4. <name>User Project Release</name>
  5. <url>http://192.168.1.103:8081/nexus/content/repositories/releases/</url>
  6. </repository>
  7. <snapshotRepository>
  8. <id>user-snapshots</id>
  9. <name>User Project SNAPSHOTS</name>
  10. <url>http://192.168.1.103:8081/nexus/content/repositories/snapshots/</url>
  11. </snapshotRepository>
  12. </distributionManagement>

注意配置了还是发布项目到私服失败,原因为没有权限,会出现401错误码,原因就是权限不够。


配置权限在settings.xml





注意Respository中的id一定要和server下的id一致,切记!!否则出现权限问题。

然后运行发布

clean deploy

在控制台发布成功

然后进入到私服上的仓库中,看一下确实存在刚刚发布的项目








宿主库——3rd party

假如我们下载了Oracle的驱动程序jar包想给其他项目组使用,就需要上传该jar包。选中宿主库——3rd party,之后选择Artifact Upload上传至宿主空间。





最后点击上传

11
1

.blog-ass-articl dd { color: #369; width: 99%; float: left; overflow: hidden; font: normal normal 12px/23px "SimSun"; height: 23px; margin: 0; padding: 0 0 0 10px; margin-right: 30px; background: url("http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif") no-repeat 0 10px }

参考知识库

Go知识库

1636关注|707收录

Oracle知识库

3456关注|252收录

Java EE知识库

12926关注|1215收录

更多资料请参考:

猜你在找

查看评论
8楼 zhuwenbin_09 2016-11-26 14:44发表 [回复] [引用] [举报]
(url=http://blog.csdn.net/)(img)http://i.WoTuLa.com/wp.png(/img)(/url)
7楼 zhuwenbin_09 2016-11-26 14:23发表 [回复] [引用] [举报]
6楼 zhuwenbin_09 2016-11-26 14:19发表 [回复] [引用] [举报]
<a href="http://ip.WoTuLa.com" target="_blank"><img src="http://i.WoTuLa.com/note.png?name=填写姓名&amp;say=这里填写您想说的内容。" style="max-width:400px;max-height:200px;" border="0" title=""></a>
5楼 netapplay 2016-09-26 15:26发表 [回复] [引用] [举报]
hello world
4楼 AnXian_RuoLong 2015-12-31 14:13发表 [回复] [引用] [举报]
3楼 AnXian_RuoLong 2015-12-31 14:13发表 [回复] [引用] [举报]
2楼 AnXian_RuoLong 2015-12-31 14:13发表 [回复] [引用] [举报]
[img=http://i.WoTuLa.com/wp.png]
1楼 AnXian_RuoLong 2015-12-31 14:12发表 [回复] [引用] [举报]
发表评论
  • 用 户 名:
  • liuguoyun_123456
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

.tag_list { background: none repeat scroll 0 0 #FFFFFF; border: 1px solid #D7CBC1; color: #000000; font-size: 12px; line-height: 20px; list-style: none outside none; margin: 10px 2% 0 1%; padding: 1px }
.tag_list h5 { background: none repeat scroll 0 0 #E0DBD3; color: #47381C; font-size: 12px; height: 24px; line-height: 24px; padding: 0 5px; margin: 0 }
.tag_list h5 a { color: #47381C }
.classify { margin: 10px 0; padding: 4px 12px 8px }
.classify a { margin-right: 20px; white-space: nowrap }

#popup_mask { position: absolute; width: 100%; height: 100%; background: #000; z-index: 9999; left: 0px; top: 0px; opacity: 0.3; display: none }

关闭

2013-12-16 21:06 45684人阅读 评论(8) 收藏 举报

本文章已收录于:

.embody { padding: 10px 10px 10px; margin: 0 -20px; border-bottom: solid 1px #ededed }
.embody_b { margin: 0; padding: 10px 0 }
.embody .embody_t,.embody .embody_c { display: inline-block; margin-right: 10px }
.embody_t { font-size: 12px; color: #999 }
.embody_c { font-size: 12px }
.embody_c img,.embody_c em { display: inline-block; vertical-align: middle }
.embody_c img { width: 30px; height: 30px }
.embody_c em { margin: 0 20px 0 10px; color: #333; font-style: normal }

私服是什么

私服,私有服务器,是公司内部Maven项目经常需要的东东,不总结一下,不足以体现出重视。Nexus是常用的私用Maven服务器,一般是公司内部使用。下载地址是http://www.sonatype.org/nexus/Go。默认端口8081,这里我选择最新版nexus-2.5.0-04。

常用功能

Nexus常用功能就是:指定私服的中央地址、将自己的Maven项目指定到私服地址、从私服下载中央库的项目索引、从私服仓库下载依赖组件、将第三方项目jar上传到私服供其他项目组使用。

开启Nexus服务后访问url地址http://localhost:8081/nexus/(推荐使用自己的ip地址),之后登录系统,用户名密码分别是:admin/admin123.

最频繁的就是点击左侧菜单栏的Repositories按钮

一般用到的仓库种类是hosted、proxy。Hosted代表宿主仓库,用来发布一些第三方不允许的组件,比如Oracle驱动、比如商业软件jar包。Proxy代表代理远程的仓库,最典型的就是Maven官方中央仓库、JBoss仓库等等。如果构建的Maven项目本地仓库没有依赖包,那么就会去这个代理站点去下载,那么如果代理站点也没有此依赖包,就回去远程中央仓库下载依赖,这些中央仓库就是proxy。代理站点下载成功后再下载至本机。笔者认为,其实Maven这个自带的默认仓库一般情况下已经够大多数项目使用了。特殊情况时在配置新的仓库,指定url即可,一般熟悉ExtJS的人操作这个Nexus都没什么问题,单词不是很难,不明白的查查单词基本差不多。就是如果Sonatype公司对其做了国际化的处理就更好了。


hosted   类型的仓库,内部项目的发布仓库

releases 内部的模块中release模块的发布仓库

snapshots 发布内部的SNAPSHOT模块的仓库

3rd party 第三方依赖的仓库,这个数据通常是由内部人员自行下载之后发布上去

proxy   类型的仓库,从远程中央仓库中寻找数据的仓库

group   类型的仓库,组仓库用来方便我们开发人员进行设置的仓库

maven项目索引

下载Maven项目索引,项目索引是为了使用者能够在私服站点查找依赖使用的功能


保存后后台会运行一个任务,点击菜单栏的Scheduled Tasks选项即可看到有个任务在RUNNING。 下载完成后,Maven索引就可以使用了,在搜索栏输入要搜索的项,就可以查到相关的信息。例如spring-core

就可以检索出它的相关信息,包括怎么配置依赖信息。我们要想使用这个私服仓库,先在项目pom中配置相关私服信息

指定仓库

  1. <repositories>
  2. <repository>
  3. <id>nexus</id>
  4. <name>nexus</name>
  5. <url>http://192.168.1.103:8081/nexus/content/groups/public/</url>
  6. <releases>
  7. <enabled>true</enabled>
  8. </releases>
  9. <snapshots>
  10. <enabled>true</enabled>
  11. </snapshots>
  12. </repository>
  13. </repositories>

指定插件仓库

  1. <pluginRepositories>
  2. <pluginRepository>
  3. <id>nexus</id>
  4. <name>nexus</name>
  5. <url>http://192.168.1.103:8081/nexus/content/groups/public/</url>
  6. <releases>
  7. <enabled>true</enabled>
  8. </releases>
  9. <snapshots>
  10. <enabled>true</enabled>
  11. </snapshots>
  12. </pluginRepository>
  13. </pluginRepositories>

这样只有本项目才在私服下载组件
这样这个Maven项目构建的时候会从私服下载相关依赖。当然这个配置仅仅是在此项目中生效,对于其他项目还是不起作用。如果相对Maven的其他项目也生效的话。需要修改全局的settings.xml文件。

修改settings.xml为

追加激活profile

  1. <activeProfiles>
  2. <activeProfile>central</activeProfile>
  3. </activeProfiles>

之后所有本机的Maven项目就在私服下载组件。(这样比较好)

项目的发布

  1. <distributionManagement>
  2. <repository>
  3. <id>user-release</id>
  4. <name>User Project Release</name>
  5. <url>http://192.168.1.103:8081/nexus/content/repositories/releases/</url>
  6. </repository>
  7. <snapshotRepository>
  8. <id>user-snapshots</id>
  9. <name>User Project SNAPSHOTS</name>
  10. <url>http://192.168.1.103:8081/nexus/content/repositories/snapshots/</url>
  11. </snapshotRepository>
  12. </distributionManagement>

注意配置了还是发布项目到私服失败,原因为没有权限,会出现401错误码,原因就是权限不够。


配置权限在settings.xml





注意Respository中的id一定要和server下的id一致,切记!!否则出现权限问题。

然后运行发布

clean deploy

在控制台发布成功

然后进入到私服上的仓库中,看一下确实存在刚刚发布的项目








宿主库——3rd party

假如我们下载了Oracle的驱动程序jar包想给其他项目组使用,就需要上传该jar包。选中宿主库——3rd party,之后选择Artifact Upload上传至宿主空间。





最后点击上传

11
1

.blog-ass-articl dd { color: #369; width: 99%; float: left; overflow: hidden; font: normal normal 12px/23px "SimSun"; height: 23px; margin: 0; padding: 0 0 0 10px; margin-right: 30px; background: url("http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif") no-repeat 0 10px }

参考知识库

Go知识库

1636关注|707收录

Oracle知识库

3456关注|252收录

Java EE知识库

12926关注|1215收录

更多资料请参考:

猜你在找

查看评论
8楼 zhuwenbin_09 2016-11-26 14:44发表 [回复] [引用] [举报]
(url=http://blog.csdn.net/)(img)http://i.WoTuLa.com/wp.png(/img)(/url)
7楼 zhuwenbin_09 2016-11-26 14:23发表 [回复] [引用] [举报]
6楼 zhuwenbin_09 2016-11-26 14:19发表 [回复] [引用] [举报]
<a href="http://ip.WoTuLa.com" target="_blank"><img src="http://i.WoTuLa.com/note.png?name=填写姓名&amp;say=这里填写您想说的内容。" style="max-width:400px;max-height:200px;" border="0" title=""></a>
5楼 netapplay 2016-09-26 15:26发表 [回复] [引用] [举报]
hello world
4楼 AnXian_RuoLong 2015-12-31 14:13发表 [回复] [引用] [举报]
3楼 AnXian_RuoLong 2015-12-31 14:13发表 [回复] [引用] [举报]
2楼 AnXian_RuoLong 2015-12-31 14:13发表 [回复] [引用] [举报]
[img=http://i.WoTuLa.com/wp.png]
1楼 AnXian_RuoLong 2015-12-31 14:12发表 [回复] [引用] [举报]
发表评论
  • 用 户 名:
  • liuguoyun_123456
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

.tag_list { background: none repeat scroll 0 0 #FFFFFF; border: 1px solid #D7CBC1; color: #000000; font-size: 12px; line-height: 20px; list-style: none outside none; margin: 10px 2% 0 1%; padding: 1px }
.tag_list h5 { background: none repeat scroll 0 0 #E0DBD3; color: #47381C; font-size: 12px; height: 24px; line-height: 24px; padding: 0 5px; margin: 0 }
.tag_list h5 a { color: #47381C }
.classify { margin: 10px 0; padding: 4px 12px 8px }
.classify a { margin-right: 20px; white-space: nowrap }

#popup_mask { position: absolute; width: 100%; height: 100%; background: #000; z-index: 9999; left: 0px; top: 0px; opacity: 0.3; display: none }

maven操作的更多相关文章

  1. IntelliJ IDEA中项目报错org.xml.sax.SAXParseException; lineNumber: 3; columnNumber: 8 或maven操作compile报resource使用utf8这样的编码错

    问题:项目开发工具已经setting成utf-8 并且项目各方面的配置文件包括maven这些的pom.xml里的配置都已经设置为utf-8 但是还报错 IntelliJ IDEA中项目报错org.xm ...

  2. eclipse 中的maven操作

    首先,maven中常用的几个命令: clean  清空target目录 compile  编译 package  打包到target目录 install  打包到本地仓库 -------------- ...

  3. eclipse的maven操作无反应

    第一 查eclipse能不能正常用 hi world.java 第二 查maven能不能正常用 cmd: mvn -v 第三 看看maven和eclipse是不是64位之类的 第四 maven和ecl ...

  4. java maven 操作 收集的一些命令

    maven打包: mvn clean package -Dmaven.test.skip=true 运行jar: java -jar target/spring-boot-scheduler-1.0. ...

  5. maven操作手册

    ===Maven的安装=== http://blog.csdn.net/yang5726685/article/details/56486479 ===Maven的jar包仓库地址配置=== http ...

  6. eclipse Maven操作出现No compiler is provided in this environment.Perhaps you are running on a JRE rather than a JDK?

    右键 pom.xml -> Run as -> Maven install 后出现类似如下错误: 解决方法: 1)选择项目后,点击 eclipse 导航栏中 [Window]-->[ ...

  7. Intellij idea操作maven时控制台中文乱码

    只留存记录 windows环境下,Intellij idea12中maven操作时,控制台中文乱码问题(编译报错或者clean install时出现的其他错误描述乱码) 在cmd中mvn中文正常显示, ...

  8. IDEA操作maven时控制台中文乱码

    windows环境下,Intellij idea12中maven操作时,控制台中文乱码问题(编译报错或者clean install时出现的其他错误描述乱码) 在cmd中mvn中文正常显示,log4j打 ...

  9. maven第二天——重要概念与其它操作

    一.在eclipse中建立工程 在day01中我们搭建了eclipse的maven环境,接下来我们开始建立maven项目 1.在eclipse中建立JAVA工程 file->new->ma ...

随机推荐

  1. 简单两句话解释下prototype和__proto__

    先上两句代码: var Person = function () {}; var p = new Person(); 把new的过程拆分成以下三步: <1> var p={}; 也就是说, ...

  2. 简单代码在ABAP中实现声音的播放

    这段代码的功能是在SAP里面实现声音的播放,可以用作程序提醒功能,和SAP里面’噹噹噹’那个声音的意思差不多.将来在项目中遇到客户想要SAP ABAP发出一点声音的时候就可以参考一下这个程序. REP ...

  3. 如何:对 SharePoint 列表项隐藏 ECB 中的菜单项

    可以通过使用功能框架向编辑控制块 (ECB) 菜单添加新的自定义操作.但是,您不能使用此方法进行相反的操作,即隐藏现有的 ECB 菜单项,因为它们是通过使用 ECMAScript(JavaScript ...

  4. java发送固定字节到C++接口

    需求:java工程需要发送一个socket消息到C++接口,C++接口中规定了若干个参数,并且每个参数的长度是固定的,起始位置也是固定的, C++那边是GB2312编码,java这边是UTF-8. 现 ...

  5. iOS界面传值的方式(7种)

    iOS传值的方式 属性传值 方法传值 代理传值(delegate) block传值 单例模式方式 通知notification方式 UserDefault或者文件方式 1.属性传值 情况:A页面跳转到 ...

  6. 将自己写的库上传到cocoapods(2015)

    2015年以前上传到cocoapods的方式相较于现在比较麻烦,现在用不上在此也就不提了.现在上传到cocoapods只需要简单的几步即可. 1.首先你需要有一个自我感觉写的差不多的库. 2.注册tr ...

  7. android事件分发机制

    android事件分发机制,给控件设置ontouch监听事件,当ontouch返回true时,他就不会走onTouchEvent方法,要想走onTouchEvent方法只需要返回ontouch返回fa ...

  8. fir终端打包,亲测可用

    1.注册fir.拿到token 2.安装 fir-cli 使用 Ruby 构建, 无需编译, 只要安装相应 gem 即可. $ ruby -v # > 1.9.3 $ gem install f ...

  9. JQuery实现当鼠标停留在某区域3秒后执行

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  10. 转:能和LoadRunner匹敌的VS2010/2012Web负载测试

    原文出处:http://www.cnblogs.com/aarond/archive/2013/04/18/performance.html VS自带的Web负载测试真的很大程度上能和专业的loadr ...