怎样从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包到本地仓库的主要内容,如果未能解决你的问题,请参考以下文章