怎样从maven的中央仓库中更新jar包到本地仓库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样从maven的中央仓库中更新jar包到本地仓库相关的知识,希望对你有一定的参考价值。

参考技术A 首先要指定中央仓库的地址,先到maven中的settery的xml文件,maven默认是阿帕奇的地址,但是服务器在国外,网速会很限制,把地址改成阿里云的地址
第二不,打开这个地址,就能看到阿里云的网站,里面就有jar包的位置信息,一串xml代码,把它复制到maven项目的pol文件中去,在运行就可以了

私服的问题

1、必须连接外网?

搭建公司私服来解决。

本地仓库,私服仓库,远程的中央仓库(镜像)

Maven通过pom.xml坐标获取jar依赖。首选去本地仓库查找。找到直接就返回给项目。如果找不到,它就去私服查找。如果找到,复制jar包到本地仓库。由本地仓库返回给项目。如果找不到,它就到远程的中央仓库查找。如果查到,复制jar包到私服仓库。私服仓库拷贝jar到本地仓库,本地仓库返回给项目。如果查找不到,没有就报错。

本地仓库只解决自己的服务器使用jar依赖。

私服仓库是解决团队的服务器。私服仓库可以创建多层。

2、如何搭建私服?

第三方nexus,它是一个war包。

在一台服务器上启动多台tomcat,要改变三个端口:8080/8005/8009

默认管理员账户: admin/admin123

 

如何访问私服?

修改setting.xml。全局和用户都配置成一样。

<mirrors>

 <mirror>

            <id>nexus</id>

            <mirrorOf>*</mirrorOf>

            <url>http://localhost:8010/nexus/content/groups/public/</url>

 </mirror>

  </mirrors>

详细步骤

  Maven环境简单配置:

1、安装配置tomcat+jdk
2、安装apache-maven-3.0.5,详见如下
3、配置MyEclipse,启用插件,
4、覆盖仓库jar,myeclipse中重建索引





------------------------------------------------------------------------------------------

Maven环境搭建:    本地仓库+maven运行环境+构建项目

1、搭建nexus 本地仓库

1)拷贝jdk1.6和tomcat6
2)配置端口为8010    (端口自行定义,只要下面各处一致即可)8005-8015,8080-8010,8009-8019
3)复制nexus-2.1.2.war到tomcat/webapps下,改名为nexus.war    (这样访问无需加后面的版本号)
4)启动tomcat6        (最好以服务方式启动,否则电脑关机重启后还需手工启动)

访问: http://localhost:8010/nexus

能访问,搭建nexus成功!

初始用户名 admin 密码 admin123

注意:
如成功,nexus将在C盘创建C:\sonatype-work\nexus目录,存放文件
主要文件:C:\sonatype-work\nexus\storage\central

2、搭建maven环境,已执行mvn命令

1)解压apache-maven-3.0.5.zip到D:\javaenv\apache-maven-3.0.5
2)修改D:\javaenv\apache-maven-3.0.5\bin\mvn.bat

36行附近加 set MAVEN_OPTS = -Xms128m - Xmx512m    (加大内存,构建大型项目会超出内存)
57行附近加 set JAVA_HOME=D:\\javaenv\\jdk1.6    (无需电脑属性配置JAVA_HOME)

3)配置MAVEN_HOME

电脑属性建立
MAVEN_HOME
D:\javaenv\apache-maven-3.0.5

在PATH中最后的位置加入
;%MAVEN_HOME%\bin

这样在cmd DOS窗口中就可以执行mvn命令

执行 mvn -version 命令

提示正常,则搭建成功

4)执行各个mvn命令,下载各个命令插件    (必须执行,maven将自动下载相关的插件)

包括:compile,test,site,install,

install -X    (X必须大写,控制信息详细很多,将显示jar依赖结构)
deploy        (必须配置发布,才可执行正确,配置下面有)

3、测试mvn环境

1)连接外网
2)找个项目,在cmd的工程目录下执行 mvn test。项目下载jar正常。则maven环境正常。

4、测试nexus

1)在C:\Documents and Settings\Administrator\.m2\setting.xml中配置,指向nexus

    <servers>
        <server>
            <id>releases</id>
            <username>admin</username>
            <password>admin123</password>
        </server>
        <server>
            <id>snapshots</id>
            <username>admin</username>
            <password>admin123</password>
        </server>
    </servers>

<!--设置自定义的仓库>
  <localRepository>D:\javaenv\mvnrepository</localRepository>


<!--设置镜像私服>

  <mirrors>
     <mirror>
         <id>nexus</id>
         <mirrorOf>*</mirrorOf>
         <url>http://localhost:8010/nexus/content/groups/public/</url>
     </mirror>

  </mirrors>


  <profiles>
     <profile>
         <id>nexus</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>
  </profiles>

<!--激活配置-->

    <activeProfiles>
        <activeProfile>nexus</activeProfile>
    </activeProfiles>


如报权限错误,加下面内容:
<updatePolicy>always</updatePolicy>

<releases><enabled>true</enabled><updatePolicy>always</updatePolicy></releases>   
<snapshots><enabled>true</enabled><updatePolicy>always</updatePolicy></snapshots>

<releases><enabled>true</enabled><updatePolicy>always</updatePolicy></releases>
<snapshots><enabled>true</enabled><updatePolicy>always</updatePolicy></snapshots>



2)项目下执行 mvn test,断开外网,看能否下载jar包
3)要发布项目到nexus上要在项目中的D:\javaws\jk\pom.xml最后配置



<distributionManagement>
    <repository>
        <id>releases</id>
        <name>Internal Releases</name>
        <url>http://localhost:8010/nexus/content/repositories/releases/</url>
    </repository>
    <snapshotRepository>
        <id>snapshots</id>
        <name>Internal Snapshots</name>
        <url>http://localhost:8010/nexus/content/repositories/snapshots/</url>
    </snapshotRepository>
  </distributionManagement>


4)进入到项目目录下,执行 mvn clean

    mvn install -X    (必须大写X)
    mvn deploy

登录 http://localhost:8010/nexus

如deploy无错,查看Repositories/Snapshots就可以看到项目




注:

如果提示下载jar包超时,可以进入其对应版本目录,拷贝对应的jar,然后从新修改pom.xml触发它下载其他相关问题。
如还不行,防止这些文件不匹配,可以将目录中其他文件删除,只复制jar包,然后触发pom.xml进行更新即可。

3、总结

概念:构建,依赖,坐标,插件,私服nexus

maven作用:一键构建,项目管理工具,一般主要用作jar依赖。一键部署,一键测试。

工作原理:本地仓库、私服仓库、远程中央仓库如何来实现Jar管理。

以上是关于怎样从maven的中央仓库中更新jar包到本地仓库的主要内容,如果未能解决你的问题,请参考以下文章

添加jar包到本地Maven仓库

添加jar包到本地Maven仓库

Maven命令安装jar包到本地仓库

Maven命令安装jar包到本地仓库

请我我上传到maven仓库的jar包,能删除吗

关于导入jar包到本地maven仓库