目录
使用nexus搭建局域网私服
一. 认识maven仓库
1.1 maven仓库的作用
1.2 maven仓库分类
二. 安装使用nexus
三. 配置maven私服
四. 局域网使用maven私服
4.1 单个项目使用maven私服
4.2 全局指定私服
首页 Java java教程 使用nexus搭建局域网私服

使用nexus搭建局域网私服

Jul 23, 2017 pm 03:00 PM
maven 局域网 私服

使用nexus搭建局域网私服

一. 认识maven仓库

1.1 maven仓库的作用

  回想之前不用maven的时候,我们用eclipse原始的项目骨架构建项目时,在工程目录下往往有一个lib文件夹用来存放工程所需jar文件,每次建一个新工程时都会有这样一个lib文件夹。然后将jar复制进lib文件夹配置路径,很显然有大量的重复工作,而且不同项目所用jar包不尽相同,需要我们慢慢去分辨。而后我们用了项目管理工具比如svn或者git,我们需要把把大量的jar文件引入代码库,这也不是一件很合适的事。
  而maven能够帮我们解决这些问题,maven仓库是专门用来存放jar文件的位置(也可以用来存放项目war,zip,pom等文件)。maven仓库中为每个jar文件分配了一个坐标,比如jstl的jar包:

<groupId>javax.servlet</groupId>        组ID
<artifactId>jstl</artifactId>           构建ID
...  其余属性后续介绍
登录后复制

这样做的话,maven能很方便的进行项目依赖版本的控制。简单说maven仓库就是帮我们统一管理项目构件。

1.2 maven仓库分类

maven仓库分类
  项目构建的查询路径:首先查询本地仓库,未找到就会查询中央仓库,没找到就会报错。中央仓库地址有:

  1. 私服nexus用

  2. 推荐使用


  3. 上面三个是较为常见的,也是项目中使用较多的,但是由于下载速度太慢,并且仓库的jar文件不完整,实际企业开发需要我们搭建私服仓库。

    二. 安装使用nexus

      这里注意搭建maven私服不仅仅只有这一种工具。博主用的版本是nexus-2.12.0。

  4. 点击下载,密码: 1ar1

  5. 下载完成后解压即可,解压完成到目录nexus-2.12.0-01-bundle\nexus-2.12.0-01\bin\jsw下可以看到:nexus安装图1

  6. 博主电脑是64位所以打开最后一个文件夹:
    nexus安装图2

  7. 点击第二个bat文件设置为windows服务,开启nexus后访问网址: http://localhost:8081/nexus/启动后打开如下页面,即代表nexus安装并启动成功。image

    三. 配置maven私服

  8. 点击右上角Login登陆,初始账号为admin,密码是admin123 登陆成功可修改账号密码,自己找。

  9. 点击左边的导航Respositories
    私服搭建1

可以看到默认有一些仓库,仓库类型Type的意义:

  • hosted 宿主仓库,用来发布一些第三方不允许的组件,比如oracle驱动等商业软件的jar包

  • proxy 代理远程的仓库,比如上面写得三个maven远程仓库。如果本地不存在某些jar文件时就会到这些代理站点去下载。

  • releases 内部的模块中release模块的发布仓库

  • snapshots 发布内部的snapshot模块的仓库

  • 3rd party 第三方依赖的仓库,本地上传jar包后使用

  • group 组仓库,用来添加其他的仓库,方便开发人员设置

开始搭建私服仓库,值得注意的是:maven项目索引:maven项目索引就是用来方便在私服站点查找相关依赖构建的功能。所以在搭建私服之前,应该下载maven索引,大概几十M:
maven私服搭建2

将Download Remote Indexs属性改成True,然后点击save即可,可以在菜单栏Scheduled Tasks查看下载索引的进度。
3.添加自己代理的远程库,有时候我们的项目需要引入一些特殊的jar文件,比如Jboss的某些jar包,这时候也可以在私服中代理该远程仓库:
maven私服搭建3

点击add后添加代理类型,依次填写id,name和url,这样的话,在项目中不再需要配置远程仓库:

<repository>
    <id>jboss</id>
    <name>JBoss Repository</name>
    <url>;/url>
    <releases>
        <updatePolicy>daily</updatePolicy><!-- never,always,interval n -->
        <enabled>true</enabled>
        <checksumPolicy>warn</checksumPolicy><!-- fail,ignore -->
    </releases>
    <snapshots>
        <enabled>false</enabled>
    </snapshots>
    <layout>default</layout>
</repository>
登录后复制

4.宿主仓库的使用,上面提到的一些特殊的商业性质相关的jar文件,比如oracle的驱动包,ojdbc.jar并不支持远程下载,这时候可以将我们本地下载好的jar包上传到私服。
宿主仓库

注意GAV设置要与你pom.xml中一致,上传后添加到Artifacts点击上传即可:
宿主仓库2
5.由于私服仓库数量过多,导致配置复杂度提高,所以需要用到上述的group类型仓库:
maven私服搭建4

切记点击刷新,刷新后点击唯一的一个group仓库,点击配置Configuration就可以看到刚才我们手动添加的代理仓库,然后将代理仓库添加到组仓库,这样依赖,项目中之需要配置组仓库的url就可以访问多个私服仓库。

四. 局域网使用maven私服

4.1 单个项目使用maven私服

在上述步骤完成后,即可在项目中引用私服,pom.xml中改变默认下载仓库url:
指定私服仓库,我的ip是170,不要全盘复制

<repositories>  
    <repository>  
        <id>nexus</id>  
        <name>nexus</name>  
        <url>http://192.168.1.170:8081/nexus/content/groups/public/</url>  
        <releases>  
            <enabled>true</enabled>  
        </releases>  
        <snapshots>  
            <enabled>true</enabled>  
        </snapshots>  
    </repository>  
</repositories>
登录后复制

指定插件仓库

<pluginRepositories>  
    <pluginRepository>  
        <id>nexus</id>  
        <name>nexus</name>  
        <url>http://192.168.1.170:8081/nexus/content/groups/public/</url>  
        <releases>  
            <enabled>true</enabled>  
        </releases>  
        <snapshots>  
            <enabled>true</enabled>  
        </snapshots>  
    </pluginRepository>  
</pluginRepositories>
登录后复制

配置好之后就可以从私服下载依赖包了。但是这种方式只能在改项目中起作用,每次配置项目都需要写两遍,为了将懒人模式进行到底,我们还可以指定全局的私有仓库。

4.2 全局指定私服

找到maven文件的中的setting.xml文件
setting.xml

在setting.xml中添加配置:
在<profiles>标签下添加

<profile>
    <repositories>
        <id>central</id>
        <name>central</name>
        <url>http://192.168.1.170:8081/nexus/content/groups/public/</url>
        <layout>default</layout>
        <releases>
            <enabled>true<enabled>
        </releases>
        <snapshots>
            <enabled>true<enabled>
        </snapshots>
    </repositories>
</profile>
登录后复制

配置好之后激活profile

<activeProfiles>  
    <activeProfile>central</activeProfile>  
</activeProfiles>
登录后复制

这样一来,这台电脑上所有maven项目下载jar文件时都会先访问局域网170的电脑。

-----------------------------------windows配置私服完毕-----------------------------------

扩展:setting,xml中各标签的意义

  1. servers(服务器)

<servers>
    <server>
        <id>server001</id>
        <username>my_login</username>
        <password>my_password</password>
        <privateKey>${usr.home}/.ssh/id_dsa</privateKey>
        <passphrase>some_passphrase</passphrase>
        <filePermissions>664</filePermissions>
        <directoryPermissions>775</directoryPermissions>
        <configuration></configuration>
    </server>
</servers>
登录后复制

id与pom.xml中distributionManagement的id保持一致,服务器标识
username和password表示服务器认证需要的用户民和密码
privateKey, passphrase一组密钥 (不常用)
filePermissions, directoryPermissions如果在部署的时候会创建一个仓库文件或者目录,这时候就可以使用权限(不常用)

2.mirrors(镜像)

<mirrors>
    <mirror>
        <id>planetmirror.com</id>
        <name>PlanetMirror Australia</name>
        <url>;/url>
        <mirrorOf>central</mirrorOf>
    </mirror>
</mirrors>
登录后复制

设置一个中央仓库的镜像,看仓库分类,也是远程仓库的一种配置方式。

3.profiles(构建环境)
这个可能比较难理解,maven权威指南一书中这样说:

  Profile能让你为一个特殊的环境自定义一个特殊的构建;
  构建环境的两个例子是产品环境和开发环境。当你在开发环境中工作时,你的系统可能被配置成访问运行在你本机的开发数据库实例,而在产品环境中,你的系统被配置成从产品数据库读取数据。Maven能让你定义任意数量的构建环境(构建profile),这些定义可以覆盖pom.xml中的任何配置。

简单理解就是你可以先profile中先构件好项目运行的环境,比如预设了A环境实在开发中使用,而实际上线是B环境,那么在上线的时候我们不需要一个个修改pom.xml中的配置,只需要激活改profile即可。

4.activation(激活构建环境 )

<activation>
    <activeByDefault>false</activeByDefault>
    <jdk>1.5</jdk>
    <os>
        <name>Windows XP</name>
        <family>Windows</family>
        <arch>x86</arch>
        <version>5.1.2600</version>
    </os>
    <property>
        <name>mavenVersion</name>
        <value>2.0.3</value>
    </property>
</activation>
登录后复制

指定profile中配置的环境在什么时候开始生效

5.activeProfiles(激活了的profile)

<activeProfiles>
<activeProfile>env-test</activeProfile>
</activeProfiles>
登录后复制

在setting.xml最后的一个标签,表示env-test这个profile已被激活

以上是使用nexus搭建局域网私服的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1666
14
CakePHP 教程
1426
52
Laravel 教程
1328
25
PHP教程
1273
29
C# 教程
1254
24
EasyTier异地组网怎么用 EasyTier异地组网怎么用 Jun 19, 2024 am 10:14 AM

EasyTier是开源、免费、去中心化的内网穿透异地组网工具,简单易用且功能丰富的异地组网解决方案,适用于远程办公协作、游戏联机等多种场景。下面二零简单介绍下使用EasyTier异地组网的使用方法。下载easytier-gui程序,并安装。下载地址:https://github.com/EasyTier/EasyTier在需要组网的电脑按上图设置好即可。虚拟IPv4地址:必填,如电脑A为10.10.10.1,B为10.10.10.2,C为10.10.10.3,不能重复。(此类IP段都可用:10.

Java Maven构建工具进阶:优化编译速度和依赖管理 Java Maven构建工具进阶:优化编译速度和依赖管理 Apr 17, 2024 pm 06:42 PM

优化Maven构建工具:优化编译速度:利用并行编译和增量编译。优化依赖关系:分析依赖项树,使用BOM(材料清单)管理传递依赖项。实战案例:通过示例说明优化编译速度和依赖项管理。

避免Maven环境配置常见错误:解决配置问题 避免Maven环境配置常见错误:解决配置问题 Feb 19, 2024 pm 04:56 PM

Maven是Java项目管理和构建工具,被广泛应用于Java项目的开发中。在使用Maven进行项目构建的过程中,往往会遇到一些常见的环境配置问题。本文将针对这些常见问题进行解答,并提供具体的代码示例,帮助读者避免常见的配置错误。1.Maven环境变量配置错误问题描述:在使用Maven时,如果环境变量配置不正确,可能导致Maven无法正常工作。解决方法:确保

指导设定Maven本地库:高效管理项目依赖 指导设定Maven本地库:高效管理项目依赖 Feb 19, 2024 am 11:47 AM

Maven本地仓库配置指南:轻松管理项目依赖随着软件开发的发展,项目的依赖包管理变得越来越重要。Maven作为一个优秀的构建工具和依赖管理工具,在项目开发过程中扮演着至关重要的角色。Maven默认会从中央仓库下载项目依赖,但有时候我们需要将一些特定的依赖包保存到本地仓库中,以便离线使用或避免网络不稳定的问题。本文将介绍如何配置Maven本地仓库,以便轻松管理

基础教程:使用IDEA创建Maven项目 基础教程:使用IDEA创建Maven项目 Feb 19, 2024 pm 04:43 PM

IDEA(IntelliJIDEA)是一款强大的集成开发环境,可以帮助开发人员快速高效地开发各种Java应用程序。在Java项目开发中,使用Maven作为项目管理工具能够帮助我们更好地管理依赖库、构建项目等。本文将详细介绍如何在IDEA中创建一个Maven项目的基本步骤,同时提供具体的代码示例。步骤一:打开IDEA并创建新项目打开IntelliJIDEA

Maven设置Java版本的最佳实践与推荐方法 Maven设置Java版本的最佳实践与推荐方法 Feb 22, 2024 pm 03:18 PM

在使用Maven构建Java项目时,经常会遇到需要设置Java版本的情况。正确设置Java版本不仅可以确保项目在不同环境中正常运行,还能避免一些兼容性问题,提高项目的稳定性和可维护性。本文将介绍Maven设置Java版本的最佳实践和推荐方法,并提供具体的代码示例供参考。1.在pom.xml文件中设置Java版本在Maven项目的pom.xml文件中,可以通

构建流畅无阻:如何正确配置Maven镜像地址 构建流畅无阻:如何正确配置Maven镜像地址 Feb 20, 2024 pm 08:48 PM

构建流畅无阻:如何正确配置Maven镜像地址在使用Maven构建项目时,配置正确的镜像地址是非常重要的。正确配置镜像地址可以加快项目构建的速度,避免网络延迟等问题。本文将介绍如何正确配置Maven镜像地址,并给出具体的代码示例。为什么需要配置Maven镜像地址Maven是一个项目管理工具,可以自动化构建项目、管理依赖、生成报告等。在Maven构建项目时,通常

Maven阿里云镜像配置详解 Maven阿里云镜像配置详解 Feb 21, 2024 pm 10:12 PM

Maven阿里云镜像配置详解Maven是Java项目管理工具,通过配置Maven可以方便地下载依赖库和构建项目。而阿里云镜像可以加速Maven的下载速度,提高项目构建效率。本文将详细介绍如何配置阿里云镜像,并提供具体的代码示例。什么是阿里云镜像?阿里云镜像是阿里云提供的Maven镜像服务,通过使用阿里云镜像,可以将下载Maven依赖库的速度大大加快。阿里云镜

See all articles