假设项目中,我没有使用maven,我应该做出选择,或为项目。或者用它来推动这个项目从maven。有人会问,为什么maven?无需maven我们没有很好的操作。

这里,只说两件事情我最欣赏:第一点是管理jar包。这包括太多的意义,比如下载jar包,由仓库,你仅仅须要输入包名和版本号号,马上就能够下载到你本机,而不须要到官网或google上找,假设下载速度慢,随时能够更改仓库地址。

另外。项目中jar版本号混乱也是常见的。有些隐藏的问题就是因为jar版本号引起。而且非常难发现。

还有。一个项目中n多jar包,但谁也说不清他们之间的依赖关系,maven能够,等等。

第二点是能够让你的技术习惯没这么脱节。

前两篇文章分别说了怎样下载、安装和启动maven。以及一些注意事项和报错处理,这篇主要说配置。

打开nexus控制台:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvb3V5aWRhMw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

这2.5.1版本号的界面。事实上maven1和maven2的界面都大同小异,maven2添加了一些选项而已。

选择From POM,上传pom文件(我的包已通过mvn archetype:create -DgroupId=com.ainfo.bs -DartifactId=acctmanm -DpackageName=com.kage -Dversion=1.0创建,所以有pom文件,假设没有,填GAV參数也可)。

然后上传jar包,上传后记得点击add再upload。我有几个包就是忘记了,搞得后面查了非常久。假设忘了,是能够补传的,补传的时候它觉得是update。update须要确保deployment policy选项是allow
redeploy。

上传完后。主机上应该就能够看到这些文件了:

通过更新index(有时候不更新也能够),能够看到新的包:

接着,改动maven的配置文件setting.xml,指向这台nexus主机:

<server>
<id>nexus-releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>nexus-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
<profile>
<id>dev</id>
<repositories>
<repository>
<id>local-nexus</id>
<url>
http://30.51.23.250:8081/nexus/content/groups/public/
</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>local-nexus</id>
<url>
http://30.51.23.250:8081/nexus/content/groups/public/
</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
<activeProfiles>
<activeProfile>dev</activeProfile>
</activeProfiles>

也能够改动pom.xml,因为我希望我的项目在svn上被团队成员(流动性大)下载就自己主动指向这台主机。所以我须要配置在pom.xml中。

最后。还有最重要的一步(非常网上文章都没提及)。就是改动MyEclipse中配置(默认的路径,根本就不存在setting文件):

改动为真正所在的路径:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvb3V5aWRhMw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

然后update project就会更新了:

更新后,你本机的maven仓库会下载这个包。

假设出现没有下载jar包。仅仅有一个update文件,比方 tapestry-3.0.4.pom.lastUpdated 。那有几种原因。

1、你配置的仓库地址不正确,检查你的setting.xml(假设你配置在pom。

xml就检查pom.xml)

2、你上传的jar不正确。到nexus主机检查jar是否真的上传了

3、你上传了jar,可是没有update index,依照我前面说的update一下

4、你刚刚已经更新过了,所以不会自己主动更新。这样的情况到你的本地仓库把这个包的目录删掉就可以(或者仅仅删lastupdated应该也行)

下载自己上传的jar没问题。下载其它的呢?也能够測试一下。

比方下载jfree这个jar。在pom里配置好。就会自己主动下载:

到nexus机器上看下载前与下载后:

事实上控制台所有的库都在主机上,MyHostedRepo是我自己建的,其余默认就有。

像setting里配置的就是图中的public:

版本号:nexus2.5.1(tgz版) maven3.2.3

2014.11.6

版权声明:本文博客原创文章,博客,未经同意,不得转载。

N使用exus2打造企业maven仓库(三)的更多相关文章

  1. 使用Nexus搭建企业maven仓库(二)

    先阅读<使用Nexus搭建企业maven仓库(一)> http://blog.csdn.net/ouyida3/article/details/40747545 1.官网眼下最新的版本号是 ...

  2. Java-Maven(三):Maven坐标、Maven仓库、Maven生命周期

    之前通过学习对maven命令有了部分了解,但是只是知道maven是用来做什么.但到目前位置还不足以全面的了解maven,为更全面的了解maven,需要学习以下几个概念:Maven坐标.Maven仓库. ...

  3. maven学习(三)maven仓库

    官网图片: maven仓库: 仓库通常配置在settings.xml文件中,此处注意settings.xml的优先级:用户 > 全局,广义上maven的仓库一共包含两种: 1.本地仓库,默认在& ...

  4. 实用maven笔记三-仓库

    maven管理依赖的一个很重要的基础在于,其维护了收集大量依赖jar包的仓库. maven的仓库分类为本地仓库和远程仓库. 构件在仓库的路径大致为:groupId/artifactId/version ...

  5. maven仓库总结,maven私服搭建

    配置pom.xml依赖包时在这里找包的描述: http://search.maven.org/#browse 以java为根目录. mvn archtype:generate -DgroupId=zt ...

  6. maven仓库--搭建局域网私服(windows版)

    使用nexus搭建局域网私服 一. 认识maven仓库 1.1 maven仓库的作用   回想之前不用maven的时候,我们用eclipse原始的项目骨架构建项目时,在工程目录下往往有一个lib文件夹 ...

  7. [Gradle系列]Gradle发布module库到jCenter, 并构建自己的企业Maven私服

    Tamic 作者: http://blog.csdn.net/sk719887916/article/details/53224544 前言 andorid开发者经常会看到xx公司发布了xx项目,xx ...

  8. Maven(三)理解Maven核心概念

    转载自: http://www.cnblogs.com/holbrook/archive/2012/12/24/2830519.html 本文以类图的方式,介绍maven核心的12个概念以及相互之间的 ...

  9. maven仓库之第二篇

    1. 什么是maven? 它是一个软件开发的管理工具,主要管理的工作是:依赖管理,项目构建. 2. 使用maven的好处? 能够集中管理jar包,提供一键构建. 3. maven的安装及配置 配置:M ...

随机推荐

  1. Mybatis 的Log4j日志输出问题 - 以及有关日志的所有问题

    使用Mybatis的时候,有些时候能输出(主要是指sql,参数,结果)日志.有些时候就不能. 无法输出日志的时候,无论怎么配置log4j,不管是properties的还是xml的,都不起作用. 有些时 ...

  2. BZOJ 1633: [Usaco2007 Feb]The Cow Lexicon 牛的词典

    题目 1633: [Usaco2007 Feb]The Cow Lexicon 牛的词典 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 401  Solv ...

  3. BZOJ 1018

    program bzoj1018; type node=..] of boolean; pair=..] of boolean; var tot,c,i,j,k,x1,y1,x2,y2:longint ...

  4. UVA 103 Stacking Boxes (dp + DAG上的最长路径 + 记忆化搜索)

     Stacking Boxes  Background Some concepts in Mathematics and Computer Science are simple in one or t ...

  5. android 项目中使用到的网络请求框架以及怎样配置好接口URL

    我们在做项目中一定少不了网络请求,如今非常多公司的网络请求这块好多都是使用一些比較好的开源框架,我项目中使用的是volley,如今讲讲一些volley主要的使用,假设想要具体的了解就要去看它的源代码了 ...

  6. AWS要进入中国了

    去年底就开始有这个传言见诸于某些媒体,说网站支持中文了要进中国了,也有说这不代表什么是谣言 这几天又听到有消息说比较靠谱就半年内的事儿 其实如果没有政策阻碍的话进中国是迟早的事情,原因如下 Amazo ...

  7. 【论文阅读】Retrieving Similar Similar Styles to Parse Clothing(相关工作)

    发表于2015年5月PAMI 作者: Kota Yamaguchi, M.Hadi Kiapour, Luis E. Ortiz, Tamara L. Berg 相关工作: [服装检索Clothing ...

  8. java.lang.NoClassDefFoundError: org.ksoap2.transport.HttpTransportSE异常处理

    原因就是没有打包进去  因为引用进去 编译时没出出现问题 解决如下

  9. JNI之HelloWorld

    什么是JNI? JNI java本地开发接口 JNI 是一个协议 这个协议用来沟通java代码和外部的本地代码(c/c++). 通过这个协议,java代码就可以调用外部的c/c++代码 外部的c/c+ ...

  10. 【 D3.js 入门系列 — 3 】 做一个简单的图表!

    图1. 柱形图 1. 柱形图 前几章的例子,都是对文字进行处理.本章中将用 D3 做一个简单的柱形图.制作柱形图有很多种方法,比如用 HTML 的 <div> 标签,或在 SVG 上绘制 ...