zoukankan      html  css  js  c++  java
  • N使用exus2打造企业maven仓库(三)

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

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

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

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

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


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

    打开nexus控制台:


    这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文件):


    改动为真正所在的路径:


    然后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

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

  • 相关阅读:
    Visual Studio使用技巧笔记(引用程序集自动复制dll到引用项目目录)
    图解-Excel的csv格式特殊字符处理方式尝试笔记(个人拙笔)
    Nuget.config格式错误,请检查nuget.config配置文件
    securecrt切换会话(session)的显示方式
    javascript将分,秒,毫秒转换为xx天xx小时xx秒(任何语言通用,最通俗易懂)
    Http状态码枚举(摘自 Microsoft 程序集 System.dll)
    Visual Studio 提示某个dll文件(已在Microsoft Visual Studio 外对该文件进行了修改,是否重新加载它)
    IIS Express mime type 列表。
    为什么要 MySQL 迁移到 Maria DB
    降维技术---PCA
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/4736826.html
Copyright © 2011-2022 走看看