Maven私服使用经验总结
我是使用nexus2.11.2在centos6.5上搭建的私服,以下是总结我这几天的经验。
1.当你修改pom.xml的时候,eclipse检查的是你本地仓库里的jar包,如果有了,pom.xml文件就不报错,否则报错。
2.使用私服比较方便的几个好处是,不用所有人都从网上下一大堆东西,而且有了私服,其他人都不需要上网,只要私服那台服务器可以上网就行了。
因此,你要首先保证你的私服是可以上网的。如果公司需要代理,那么在nexus管理页里,把代理设置了,具体的位置是
Administration里点server然后再里边我是如下设置的,填写自己的代理服务器IP端口跟账号密码
3.创建一个Repository group,这个是一个仓库组,可以在他的configuration里选择添加那些具体的仓库。
这里最需要的一个肯定是Central,他的镜像地址是http://repo1.maven.org/maven2/也就是maven2的主地址。
所有仓库的Download Remote Indexes,我都设置成true了。
4.自己创建一个proxy Repository,创建这个的目的是,比如我的group里只添加了一个Central,但是发现不够,我还需要其他的包
比如我这个项目里用到了CDH,但是Central这个maven仓库里没有,所以我需要建一个cdh里仓库,通过CDH的maven pom.xml文件可以知道,他的仓库地址是
https://repository.cloudera.com/artifactory/cloudera-repos/
所以我添加如下的配置
5.我添加完4里边的proxy,在将它放进3里的group里,这样3里就也有这个目录了,大家统一用3里创建的group这个仓库。
6.怎么让其他人不上网,而是从私服仓库里下载呢
1)配置自己的pom.xml添加如下配置
<!-- 设定主仓库,按设定顺序进行查找。 -->
<repositories>
<repository>
<id>kora</id> <!--这个ID需要与你新建的组group ID一致-->
<name>Kora Repository</name>
<url>http://10.10.92.244:8081/nexus/content/groups/kora/</url>
</repository>
</repositories>
2)在maven客户端的settings.xml里添加如下配置,放在mirrors标签下边
<mirror>
<id>kora</id>
<mirrorOf>*</mirrorOf>
<url>http://10.10.92.244:8081/nexus/content/groups/kora/</url>
</mirror>
7.一些私有的jar包,在maven仓库里找不到怎么办?使用3rd party这个,第3方的jar包,他是一个hosted Repository
在这里点Artifact Upload,可以上传第3方jar包,每次我都是选择的GAV Parameters,上传后,把3rd这个也加入到第3步建立的group里,这样第3个就也有了。
8.建立的proxy没有下载对应的jar包,这个时候,你选择group,group里也不会有,但是你访问的时候,有的时候,它不会自动下载。
我的做法是,把pom.xml跟settings.xml里的仓库地址,都换成proxy的,然后加一个你想下载的jar的dependency标签,然后,让proxy下载。这样你的group里也就有了,之后再换回group.
9.我发现我的服务器上有jar包,但是maven install的时候还是提示
[ERROR] Failed to execute goal on project kora-monitor: Could not resolve dependencies for project com.kora:kora-monitor:war:1.2.6: Failure to find bitwalker:UserAgentUtils:jar:1.13 in http://10.10.92.244:8081/nexus/content/groups/kora/ was cached in the local repository, resolution will not be reattempted until the update interval of kora has elapsed or updates are forced -> [Help 1]
这是因为,我本地已经有bitwalker这个目录了,但是里边没东西,但是因为有目录,又不会从私服上下了,所以这个只要你删除本地路径,再install就可以了。
10.跟9的问题差不多,提示在服务器上找不到jar,比如oracle驱动,但是我发现,我已经上传到3rd上了,3rd下是有这个jar的,而且group里也有
但是死活就是找不到,于是我把3rd的com.oracle这个包给删了,然后打开group里居然还有com.oracle这个目录,而且里边没有jar包这就很奇怪了,
因为我是把3rd里的com.oracle目录彻底删掉的。为什么group里还有,最后我在group集合里的每个仓库里挨个查找,终于在Central里发现了com.oracle这个目录
跟group里的目录一样,光有目录没有jar包,后来我删除了这个目录,又从新在3rd里上传了带jar包的目录,问题解决了。
11.如果目录结构特别多,不想一个一个上传,可以直接把目录上传到服务器上,我的3rd目录是/usr/local/sonatype-work/nexus/storage/thirdparty
我就把我仓库里的私有jar包直接放进去,就好使了。3rd跟group里就都能看见了
12.Maven编译提示GBK乱码,而你的类是UTF-8的,那么你需要在你工程的pom.xml里添加编码格式,如下:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
Maven私服使用经验总结的更多相关文章
- 掌握 Maven 私服
前言 在 Java EE 开发中,我们使用 Maven 构建工具主要来管理项目的第三方库的依赖,以及公司内部其他项目服务的依赖.因此 Maven 私服就是必不可少的一环,本文主要对 Maven 私服的 ...
- CentOS7-Docker 搭建Maven私服
使用Docker搭建Maven私服 前言本文主要介绍,使用Docker创建一个nexus私服,然后编写一个Library,上传到私服,然后使用demo工程依赖. 本文不对Maven.Nexus.私服等 ...
- maven私服搭建
一.软件安装 地址:http://www.sonatype.org/nexus/thank-you-for-downloading/?dl=tgz 解压: 启动: >> nexus sta ...
- maven私服搭建(centOS6.5)
maven的好处和私服的应用本文不赘述,私服搭建如下: MAVEN 私服搭建(centOS 6.5 环境) 1. 准备环境,搭建centOS6.5系统环境,略 2. 准备对应的软件包如下: A. ...
- Centos 基础开发环境搭建之Maven私服nexus
hmaster 安装nexus及启动方式 /usr/local/nexus-2.6.3-01/bin ./nexus status Centos 基础开发环境搭建之Maven私服nexus . 软件 ...
- 搭建Maven私服-续
前几天搭建了Maven私服,但是想在外网访问只能通过ip地址,因为公司用的不是固定ip所以,ip地址每次不一样,都要先打开极路由查看一下当前ip才能用,更恶心的是,代码check out只能一次,下次 ...
- 搭建Maven私服
最近从SVN下载的代码,在本地构建时出现了诸多问题,部分依赖下载超时,就想起在局域网搭建Maven私服,废话不说了,在测试服务器上建的已经成功,就随便找台机子再练习一遍顺道写个日志.1.前往http: ...
- Maven私服Nexus3.x环境构建操作记录
Maven介绍Apache Maven是一个创新的软件项目管理和综合工具.Maven提供了一个基于项目对象模型(POM)文件的新概念来管理项目的构建,可以从一个中心资料片管理项目构建,报告和文件.Ma ...
- Maven学习 (四) 使用Nexus搭建Maven私服
为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到 ...
随机推荐
- js array 排序
数据 let data = [ {chinese: '蔡司', english: 'Chase',score:67}, {chinese: '艾伦', english: 'Allen',score:7 ...
- Go 关于 kafka 的生产者、消费者实例
zookeeper + kafka 首先要在 apche 官网下载 kafka 的程序包(linux版本),然后放到服务器上解压,得到以下目录 bin 目录下包含了服务的启动脚本 启动 zookeep ...
- iOS - Scenekit3D引擎初探之 - 导入模型+上传服务器+下载并简单设置
SceneKit是ios8之后苹果推出了一个3D模型渲染框架. SceneKit现在可以支持有限的几种模型,截止到我写这篇文章为止似乎只有.dae和.abc后一种模型我没有使用过.这篇文章只针对.da ...
- 【转载】 Sqlserver使用Left函数从最左边开始截取固定长度字符串
在Sqlserver数据库的字符串操作中,截取字符串是最常见的操作,sql server提供了3个常用截取字符串方法,LEFT().RIGHT().SUBSTRING(),如果从第一个字符即最左边位置 ...
- laravel withCount 统计关联数量
roleModel定义关联 hasmany public function users(){ return $this->hasMany('App\Models\Users', 'role_i ...
- Centos7.x固定网络IP配置
1.管理员帐号密码登录centos系统 2. cd/etc/sysconfig/network-script/ 3. ls查看 4.vi 编辑 ifcfg-ens33(不同服务器网卡名 ...
- 静态库 VS 动态库
如何得到库 ①先写好一堆的.c文件(.c:我们所需要的各种工具函数) ②将这些.c编译为对应的.o ③将所有的这些.o打包为一个仓库文件(静态库或者动态库) 静态库:按照静态库的方式打包 动态库:按照 ...
- linux----centos7 yum安装lnmp+zabbix
安装yum utils工具包,若不安装则会找不到命令yum-config-manageryum -y install yum-utils 启用yum仓库yum-config-manager --ena ...
- k8s的监控
监控 1.资源指标和资源监控 一个集群系统管理离不开监控,同样的Kubernetes也需要根据数据指标来采集相关数据,从而完成对集群系统的监控状况进行监测.这些指标总体上分为两个组成:监控集群本身和监 ...
- 2020还有9天!Winforms开发有哪些期待?DevExpress 2020计划出炉
下载DevExpress v19.2完整版 DevExpress Winforms Controls 内置140多个UI控件和库,完美构建流畅.美观且易于使用的应用程序.DevExpress Winf ...