• 用nexus搭建maven2内部服务器


    由于项目组需要,要搭建内部的Maven仓库,借鉴项目组内部及外部同事的经验选用nexus来搭建内部仓库。下面描述一下具体的步骤。 

    一、安装配置过程 
    1.下载nexus,地址http://www.sonatype.org/nexus/ 
    nexus版本有内嵌Jetty的bundle版本和war版本。内嵌Jetty的bundle版本直接可以独立运行,但由于内部一直用的Tomcat容器,所以选用了war版本。直接放到Tomcat下的webapps目录下即可 

    2.安装及配置步骤 
    把nexus-2.0.5.war放到Tomcat下的webapps目录,让Tomcat解压。 
    修改一下配置 exus-2.0.5WEB-INFplexus.properties。更改nexus存放repository的根目录 
    nexus-work=D:/java/MavenRepository/sonatype-work/nexus,原来的是usr.dir我试了一下是在c盘根目录下,我就改到这里了。 

    3.配置nexus 
    如下图: 

    依次登陆,配置Central的Repository。这个是一个proxy类型的Repository,用来代理别的如官方的Repository,能帮你自动下载,我们也可以再添加别的proxy类型的Repository。 
    需要注意,改下URL(推荐http://www.mvnsearch.org/maven2/),Download Remote Indexes改为true。 


    配置下Release Repository,其中Deployment Policy配置为允许重新部署。这个是本地Repository,主要用来存放组内的jar包的。 

    配置3rd Party Repository,也是本地Repository,主要是存放在maven官方下不到的,第三方的jar包。 

    配置Public Repository,Repository组。这个主要是给我们用来下载jar包的。把有可能用到的代理或者本地Repository都加进来,全部对外可见。 

    4.更新Repository的index 
    在更新之前是看不到任意jar包的,要更新下索引才行。右键public repository,更新index。会把public组包含的Repository的索引都更新。(如果更新不了,自己挨个手动更新,再重启容器试试)。更新会比较慢,但不会在前台显示,你可以再后台看看网络流量或者Repository存放目录的index的变化情况。 

    5.搜索jar包,如搜索log4j。如果可以搜索到,代表安装,配置,更新索引都成功了。 

    二、使用 
    1.在maven工程中添加对本地Repository的依赖 
    代码如下:优先搜索本地Repository,找不到再去别的地方找 
    Java代码  收藏代码
    1. <repositories>  
    2.         <repository>  
    3.             <id>136</id>  
    4.             <name>136 Repository</name>  
    5.             <url>http://192.168.85.136:28080/nexus-2.0.5/content/groups/public/</url>  
    6.         </repository>  
    7.         <repository>  
    8.             <id>jboss-cache</id>  
    9.             <name>jboss-cache</name>  
    10.             <url>http://repository.jboss.org/maven2</url>  
    11.         </repository>  
    12.         <repository>  
    13.             <id>mvnsearch</id>  
    14.             <name>mvnsearch Maven Repository</name>  
    15.             <url>http://www.mvnsearch.org/maven2</url>  
    16.         </repository>  
    17.     </repositories>  


    2.把组内共用jar包上传 
    两种方式,手动上传,简单就不介绍了,但是要自己填写版本之类的东西 
    重点介绍下使用maven上传 

    首先,修改maven的配置文件 setting.xml 
    Java代码  收藏代码
    1. <settings>    
    2. ...     
    3. <servers>    
    4.   <server>    
    5.     <id>nexus-releases</id>    
    6.     <username>admin</username>    
    7.     <password>admin123</password>    
    8.   </server>    
    9.   <server>    
    10.     <id>nexus-snapshots</id>    
    11.     <username>admin</username>    
    12.     <password>admin123</password>    
    13.   </server>       
    14. </servers>    
    15. ...     
    16. </settings>  


    然后,在项目的pom.xml中加入如下配置。 
    Java代码  收藏代码
    1. <project>    
    2. ...    
    3. <distributionManagement>    
    4.   <repository>    
    5.     <id>nexus-releases</id>    
    6.       <name>Nexus Release Repository</name>    
    7.       <url>http://127.0.0.1:8080/nexus/content/repositories/releases/</url>    
    8.   </repository>    
    9.   <snapshotRepository>    
    10.     <id>nexus-snapshots</id>    
    11.     <name>Nexus Snapshot Repository</name>    
    12.     <url>http://127.0.0.1:8080/nexus/content/repositories/snapshots/</url>    
    13.   </snapshotRepository>    
    14. </distributionManagement>    
    15. ...    
    16. </project>   


    最后,在命令行运行 mvn deploy即可,注意要把项目生成release,不是snapshot的。 
    我的eclipse里没有mvn deploy选项,我就用命令行这种比较笨的方式,但是也比较好使。 

    三、个人理解 
    1.搭建本地仓库的目的之一是为了节省从官方repository下载jar包的时间(现在从局域网下载) 
    2.另外还有一个目的是管理第三方jar包和组内编写的jar包。
  • 相关阅读:
    perl 调短信接口
    MySQL处理千万级数据查询、分页
    tomcat 设置path 访问路径
    Tomcat 设置内存大小
    Tomcat 80端口启动 必须是root
    tomcat server.xml配置解析
    Perl 发送邮件
    单身北漂生活二、三事(上)——北漂18年(8)
    tomcat 应用访问
    Perl 采集监控日志插入数据库
  • 原文地址:https://www.cnblogs.com/yangkai-cn/p/4016709.html
Copyright © 2020-2023  润新知