我是使用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私服使用经验总结的更多相关文章

  1. 掌握 Maven 私服

    前言 在 Java EE 开发中,我们使用 Maven 构建工具主要来管理项目的第三方库的依赖,以及公司内部其他项目服务的依赖.因此 Maven 私服就是必不可少的一环,本文主要对 Maven 私服的 ...

  2. CentOS7-Docker 搭建Maven私服

    使用Docker搭建Maven私服 前言本文主要介绍,使用Docker创建一个nexus私服,然后编写一个Library,上传到私服,然后使用demo工程依赖. 本文不对Maven.Nexus.私服等 ...

  3. maven私服搭建

    一.软件安装 地址:http://www.sonatype.org/nexus/thank-you-for-downloading/?dl=tgz 解压: 启动: >> nexus sta ...

  4. maven私服搭建(centOS6.5)

    maven的好处和私服的应用本文不赘述,私服搭建如下: MAVEN 私服搭建(centOS 6.5 环境) 1.  准备环境,搭建centOS6.5系统环境,略 2.  准备对应的软件包如下: A. ...

  5. Centos 基础开发环境搭建之Maven私服nexus

    hmaster 安装nexus及启动方式 /usr/local/nexus-2.6.3-01/bin ./nexus status Centos 基础开发环境搭建之Maven私服nexus . 软件  ...

  6. 搭建Maven私服-续

    前几天搭建了Maven私服,但是想在外网访问只能通过ip地址,因为公司用的不是固定ip所以,ip地址每次不一样,都要先打开极路由查看一下当前ip才能用,更恶心的是,代码check out只能一次,下次 ...

  7. 搭建Maven私服

    最近从SVN下载的代码,在本地构建时出现了诸多问题,部分依赖下载超时,就想起在局域网搭建Maven私服,废话不说了,在测试服务器上建的已经成功,就随便找台机子再练习一遍顺道写个日志.1.前往http: ...

  8. Maven私服Nexus3.x环境构建操作记录

    Maven介绍Apache Maven是一个创新的软件项目管理和综合工具.Maven提供了一个基于项目对象模型(POM)文件的新概念来管理项目的构建,可以从一个中心资料片管理项目构建,报告和文件.Ma ...

  9. Maven学习 (四) 使用Nexus搭建Maven私服

    为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到 ...

随机推荐

  1. iview的table组件中加入超链接组件,可编辑组件,选择组件,日期组件

    这篇文章主要介绍了iview的table组件中使用选择框,日期,可编辑表格,超链接等组件. 1.select选择组件 // tableColumn数组响应对象需要传入一个固定的option数组,如果该 ...

  2. MD 使用 i5ting_toc 转换成 HTML

    MD 使用 i5ting_toc 转换成 HTML 本文作者:天析 作者邮箱:2200475850@qq.com 发布时间: Wed, 10 Jul 2019 13:59:00 +0800 前言 md ...

  3. stm32和sd卡

    SD卡从容量上讲分两种:标准容量和大容量,最小的是标准容量,小于等于2G 其中的访问关系如下: SD卡分为两种模式:认证模式和传输模式,每一个模式包含着不同的状态,如下 以下主要讲其初始化过程: SD ...

  4. 四、DDL常见操作汇总

    DDL: Data Define Language 数据定义语言,主要用来对数据库.表进行一些管理操作.如:建库.删库.建表.修改表.删除表.对列的增删改等. 一.库的管理 1.创建库 create ...

  5. jar找不到问题解决

    1.File->Settings->搜maven->看Local repository的路径配置是否正确,再看User settings file路径配置是否正确,再看xml内容配置 ...

  6. Ubuntu18.04开机启动sudo命令

    首先接前文:ubuntu18.04 下启动Android Studio报错KVM is required to run this AVD. /dev/kvm device: permission de ...

  7. 基于FTP 的本地Yum服务器配置

    服务器端 环境如下 Vmware14CentOS 7.6 192.168.20.81 server 192.168.20.81 client 1.配置yum源 mount /dev/cdrom /me ...

  8. c# 克隆来创建对象副本

  9. 解析CentOS 7中系统文件与目录管理

    Linux目录结构 Linux目录结构是树形的目录结构 根目录 所有分区.目录.文件等的位置起点 整个树形目录结构中,使用独立的一个"/"表示 常见的子目录 目录 目录名称 目录 ...

  10. kubernetes Node节点部署(四)

    一.部署kubelet 1.1.二进制包准备 将软件包从linux-node1复制到linux-node2中去 [root@linux-node1 ~]# cd /usr/local/src/kube ...