阿里云maven配置文件阿里云私服后每次都去私服找包

> 博客详情
摘要: 阿里云 Maven私服
一、配置云服务器安全组规则
二、配置Maven(Nexus3)私服
====================================
一、配置云服务器安全组规则
(1)进入阿里云管理控制台
依次选择--&云服务器ECS--&实例(在实例列表中选择你的ECS所在区域)--&管理--&本实例安全组--&配置规则
单击配置规则后,添加入方向配置规则,放开8081端口
单击【添加安全组规则】按钮
单击【确定】后,如下图所示
出方向可以不做修改,然后可以通过浏览器访问以下ECS,如果成功出现Nexus3界面,恭喜你配置成功啦!
二、配置Maven(Nexus3)私服
(1) 点击上图右上角的Sign in按钮
输入登陆用户名和密码(默认)
用户名:admin
密码:admin123
(2)登陆成功后,点击齿轮图标,在左侧管理树,选择Repositorites,单击Create respository按钮,创建新的仓库,如下图
单击maven2(proxy)后,创建一个新的代理仓库
这里的重点是,将Maven的中央仓库更改为国内的阿里云Maven仓库(好处是速度快哈 )
对了,最后别忘记点击save按钮哈,保存后才会生效
我们自己的项目提交的Maven私服,有两种情况,一种是releases版本的,还有一种是snapshots(快照)版本的,两者的区别仅为快照版本的maven私服后自动加上时间戳,私服的配置方式是相同的,如下图
这步的重点是把 Deployment pollcy 改为&Allow redeploy,单击Save按钮,使配置生效
(3)关于Nexus用户的添加
单击创建用户按钮(Create user),填写必要的信息后生成用户,为了安全起见,我们关闭了系统默认的admin和anonymous用户
============== 至此 Nexus Web配置部分基本完成 =================
人打赏支持
码字总数 15533
支付宝支付
微信扫码支付
打赏金额: ¥
已支付成功
打赏金额: ¥19:23 提问
maven阿里云中央仓库设置了,但是没起作用
我设置了阿里云中央仓库,可为什么还是从国外的maven中央仓库下载呢?
按赞数排序
如果阿里云中央仓库中没有该jar包的话,仍然可能去maven中央仓库下载哎
你在ecipse里面有没有更新maven配置
这个问题我已经解决了,原来是配置的地方配错了,原先我再maven解压出来的包下的setting.xml下配置的,后来在仓库里面的settings.xml配置就行了
貌似eclipse只看你解压出来的那个maven目录下的配置文件。。别的地方它压根就不管。。
其他相关推荐
其他相似问题转载地址:
apache的开源maven插件对我们使用maven进行打包,发布的流程简化了不少。开源插件帮我们减少了了解详细流程的工作量,那么同时肯定会带来熟悉各个插件默认配置的麻烦,以下是最近使用maven插件的一些心得。
我们在创建工程是的命名最好遵从maven工程的习惯,尤其是artifactId。虽然你后面可以修改配置文件来修改打包后的jar或war包名,但是使用maven-delpoy-plugin插件时,默认上传的就是artifactId开头的,目前我还没有找到好的解决办法。
网上有介绍使用maven-war-plugin的overlay属性来合并多个web工程,但是overlay只是合并资源文件,并不能合并web.xml,参考。我后来找到了cargo-maven2-plugin插件,其介绍在。
一般常用的插件有:发布jar到私有库,会用到maven-deploy插件;同时发布源码会用到maven-source-plugin插件;合并多个web工程会用到cargo-maven-plugin插件。
maven-deploy-plugin插件
1、首先在nexus私有库中创建一个可以上传jar包的用户。我先创建了一个角色,再创建一个上传的用户,这样其他项目组的成员可以重用这个角色的配置。
2、在个人maven配置文件中添加该用户的信息
setting.xml
3、在maven工程的pom.xml配置部署的仓库,注意pom.xml和setting.xml中的id属性要一致
1 &distributionManagement&
&repository&
&id&packaging-releases&/id&
&name&Packaging Release Repository&/name&
&url&http://<span style="color: #7.0.0.1:8081/nexus/content/repositories/packaging-release/&/url&
&/repository&
&snapshotRepository&
&id&packaging-snapshots&/id&
&name&Packaging Snapshot Repository&/name&
<span style="color: #
&url&http://<span style="color: #7.0.0.1:8081/nexus/content/repositories/packaging-snapshot/&/url&
<span style="color: #
&/snapshotRepository&
<span style="color: # &/distributionManagement&
这样就可以将自己的jar包部署到私有库中了,将maven工程的SNAPSHO后缀删除后自动发布到Release属性的仓库,之前默认的是Snapshot属性的仓库。
maven-source-plugin插件
要想在部署jar包到私有库的同时上传源码包,修改一下maven工程的pom.xml文件就可以,添加以下内容
&finalName&${project.artifactId}&/finalName&
&artifactId&maven-source-plugin&/artifactId&
&version&2.2.1&/version&
&executions&
&execution&
&id&attach-sources&/id&
<span style="color: #
&phase&verify&/phase&
<span style="color: #
<span style="color: #
&goal&jar-no-fork&/goal&
<span style="color: #
<span style="color: #
&/execution&
<span style="color: #
&/executions&
<span style="color: #
<span style="color: #
&/plugins&
<span style="color: #
再部署时,就会自动上传源码包了
cargo-maven2-plugin插件
当我们需要和并多个war包时,使用cargo-maven2-plugin可以自动帮我们合并web.xml
1、添加cargo-maven2-plugin插件,其中descriptor指向配置文件
&groupId&org.codehaus.cargo&/groupId&
&artifactId&cargo-maven2-plugin&/artifactId&
&version&1.1.3&/version&
&extensions&true&/extensions&
&configuration&
&descriptor&src/assemble/merge.xml&/descriptor&
&/configuration&
<span style="color: #
<span style="color: #
&/plugins&
2、配置文件src/assemble/merge.xml配置如下
1 &?xml version="1.0" encoding="UTF-8"?&
2 &uberwar&
&war&com.hust.wnlo.dsis.ipackaging:user.web&/war&
&war&com.hust.wnlo.dsis.ipackaging:commodity.web&/war&
&contextParams&
&strategy name="ChooseByName"&
<span style="color: #
<span style="color: #
&strategy name="Preserve" /&
<span style="color: #
&/default&
<span style="color: #
&choice name="contextConfigLocation"&
<span style="color: #
&strategy name="NodeMerge"&
<span style="color: #
&context-param&
<span style="color: #
&param-name&$left:param-name&/param-name&
<span style="color: #
&param-value&$left:param-value $right:param-value&/param-value&
<span style="color: #
&/context-param&
<span style="color: #
&/strategy&
<span style="color: #
<span style="color: #
&/strategy&
<span style="color: #
&/contextParams&
<span style="color: #
<span style="color: # &/uberwar&
3、使用cargo:uberwar合并这2个war包
输出日志如下
[INFO] Scanning for projects...
[INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder with a thread count of 1
[INFO] ------------------------------------------------------------------------
[INFO] Building all Maven Webapp 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] --- cargo-maven2-plugin:1.1.3:uberwar (default-cli) @ all ---
<span style="color: #
[INFO] Building war: D:\TestWork\workspace\com.hust.wnlo.dsis.ipackaging.all-0.0.1-SNAPSHOT\target\all.war
<span style="color: #
[INFO] ------------------------------------------------------------------------
<span style="color: #
[INFO] BUILD SUCCESS
<span style="color: #
[INFO] ------------------------------------------------------------------------
<span style="color: #
[INFO] Total time: 6.426 s
<span style="color: #
[INFO] Finished at: T14:42:54+08:00
<span style="color: #
[INFO] Final Memory: 8M/<span style="color: #6M
<span style="color: #
[INFO] ------------------------------------------------------------------------
发布一个工程的流程:。
merge.xml配置来源:。
阅读(...) 评论()maven仓库--私服(Nexus的配置使用)
时间: 23:43:25
&&&& 阅读:564
&&&& 评论:
&&&& 收藏:0
标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&1.1 私服仓库是什么
  私服,私有服务器,是公司内部Maven项目经常需要的东东。Nexus是常用的私用Maven服务器,一般是公司内部使用。其作用指定私服的中央地址、将自己的Maven项目指定到私服地址、从私服下载中央库的项目索引、从私服仓库下载依赖组件、将第三方项目jar上传到私服供其他项目组使用。
1.2 Nexus中的仓库
1.2.1 类型介绍:
  ? &hosted,本地仓库,通常我们会部署自己的构件到这一类型的仓库。比如公司的第二方库。
  ?& proxy,代理仓库,它们被用来代理远程的公共仓库,如maven中央仓库。
  ?& group,仓库组,用来合并多个hosted/proxy仓库,当你的项目希望在多个repository使用资源时就不需要多次引用了,只需要引用一个group即可。
1.2.2&管理本地仓库
  我们前面讲到类型为hosted的为本地仓库,Nexus预定义了3个本地仓库,分别是Releases, Snapshots, 3rd Party. 分别讲一下这三个预置的仓库都是做什么用的:
  Releases:
    这里存放我们自己项目中发布的构建, 通常是Release版本的, 比如我们自己做了一个FTP Server的项目, 生成的构件为ftpserver.war, 我们就可以把这个构建发布到Nexus的Releases本地仓库. 关于符合发布后面会有介绍.
  Snapshots:
    这个仓库非常的有用, 它的目的是让我们可以发布那些非release版本, 非稳定版本, 比如我们在trunk下开发一个项目,在正式release之前你可能需要临时发布一个版本给你的同伴使用, 因为你的同伴正在依赖你的模块开发, 那么这个时候我们就可以发布Snapshot版本到这个仓库, 你的同伴就可以通过简单的命令来获取和使用这个临时版本.
  3rd Party:
    顾名思义, 第三方库, 你可能会问不是有中央仓库来管理第三方库嘛,没错, 这里的是指可以让你添加自己的第三方库, 比如有些构件在中央仓库是不存在的. 比如你在中央仓库找不到Oracle&的JDBC驱动, 这个时候我们就需要自己添加到3rdparty仓库。
1.2.3&maven项目索引
  下载Maven项目索引,项目索引是为了使用者能够在私服站点查找依赖使用的功能
  保存后后台会运行一个任务,点击菜单栏的Scheduled Tasks选项即可看到有个任务在RUNNING。&下载完成后,Maven索引就可以使用了,在搜索栏输入要搜索的项,就可以查到相关的信息。例如:junit
1.3 配置私服链接
  在项目的pom.xml或者settings.xml文件里加入一下配置信息(区别,pom.xml是针对当前项目,settings.xml是全局的针对所有项目)
1.3.1 pom.xml  针对当前项目
配置相关私服信息指定仓库:
&repositories&
&repository&
&id&nexus&/id&
&name&nexus&/name&
&url&http://127.0.0.1:8081/nexus/content/groups/public/&/url&
&!-- Release版本则代表稳定的版本 --&
&releases&
&enabled&true&/enabled&
&/releases&
&!-- Snapshot版本代表不稳定、尚处于开发中的版本,默认关闭,需要手动启动 --&
&snapshots&
&enabled&true&/enabled&
&/snapshots&
&/repository&
&/repositories&
指定插件仓库:
  &pluginRepositories&
&pluginRepository&
&id&nexus&/id&
&name&nexus&/name&
&url&http://192.168.1.103:8081/nexus/content/groups/public/&/url&
&releases&
&enabled&true&/enabled&
&/releases&
&snapshots&
&enabled&true&/enabled&
&/snapshots&
&/pluginRepository&
&/pluginRepositories&
1.3.2&settings.xml  针对全局所有项目
1.3.2.1 Maven仓库组:
  我们可以建立多个proxy代理仓库,hosted本地仓库, 如果没有仓库组的概念,我们如果需要引用这些仓库的是时候需要一一加入到我们的setting.xml里面去, 有了仓库的组的概念, 我们只需要做一次引用就可以了,把我们需要的仓库加入到仓库组即可。如下:
&!-- 配置相关私服信息指定仓库 --&
&profiles&
&id&nexusProfile&/id&
&repositories&
&repository&
&id&nexus&/id&
&name&nexus Repository&/name&
&url&http://localhost:8081/nexus/content/groups/public/&/url&
&layout&defult&/layout&
&releases&
&enabled&true&/enabled&
&/releases&
&!-- snapshots默认是关闭的false,必须显示的打开 --&
&snapshots&
&enabled&true&/enabled&
&/snapshots&
&/repository&
&/repositories&
&/profile&
&/profiles&
&!-- 激活 --&
&activeProfiles&
&activeProfile&nexusProfile&/activeProfile&
&/activeProfiles&
  仓库组默认包含本地仓库Releases,snapshots, 3rd party和代理仓库MavenCentral. 你可以在Configuration配置页添加仓库到这个仓库组. 如果需要你还可以创建一个仓库组,在Repositories菜单处选add--&Repository Group即可:
1.3.2.1&配置仓库镜像:
  默认的,如果本地仓库找不到依赖的构件,这时需要东西时先到Nexus上找,如果发现Nexus服务关闭后,会自动到中央仓库找。
  如果我们想覆盖中央仓库的默认地址,强制依赖的东西都到Nexus中去找,即使Nexus关闭也不会到中央工厂去下载:
&!--工厂的镜像,只要工厂的访问,都会自动来找镜像,如果镜像里面没有找到就无法访问,就停止下载了 --&
&id&nexusMirror&/id&
&mirrorOf&nexus&/mirrorOf&
&name&Human Readable Name for this Mirror.&/name&
&url&http://localhost:8081/nexus/content/groups/public/&/url&
&/mirrors&
1.3.3 配置项目发布
  &distributionManagement&
&repository&
&id&user-release&/id&
&name&User Project Release&/name&
&url&http://192.168.1.103:8081/nexus/content/repositories/releases/&/url&
&/repository&
&snapshotRepository&
&id&user-snapshots&/id&
&name&User Project SNAPSHOTS&/name&
&url&http://192.168.1.103:8081/nexus/content/repositories/snapshots/&/url&
&/snapshotRepository&
&/distributionManagement&
注意配置了还是发布项目到私服失败,原因为没有权限,会出现401错误码,原因就是权限不够。
配置权限在settings.xml:
注意Respository中的id一定要和server下的id一致,切记!!否则出现权限问题。
然后运行发布
clean deploy
在控制台发布成功
然后进入到私服上的仓库中,看一下确实存在刚刚发布的项目
1.4 宿主库——3rd party
  假如我们下载了Oracle的驱动程序jar包想给其他项目组使用,就需要上传该jar包。选中宿主库——3rd party,之后选择Artifact Upload上传至宿主空间。
  最后点击上传
1.5 如果本地仓库有东西,但Nexus中没有
  需要将该东西考到Nexus仓库中,然后更新仓库索引:
本文参考:、
本文出自:标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&
添加代理仓库&&&http://download.osgeo.org/webdav/geotools/&&无法更新索引&&望大神指教
&&国之画&&&& &&&&chrome插件
版权所有 京ICP备号-2
迷上了代码!}

我要回帖

更多关于 maven连接阿里云配置 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信