WINDOWS中NEXUS的安装使用【ATCO整理】 2016-06-20 15:52 367人阅读 评论(0) 收藏 举报 分类: 项目管理(11) 版权声明:本文为博主原创文章,未经博主允许

本文主要是介绍WINDOWS中NEXUS的安装使用【ATCO整理】 2016-06-20 15:52 367人阅读 评论(0) 收藏 举报 分类: 项目管理(11) 版权声明:本文为博主原创文章,未经博主允许,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

WINDOWS中NEXUS的安装使用【ATCO整理】



一、介绍

Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用Nexus你可以只在一个地方就能够完全控制访问 和部署在你所维护仓库中的每个Artifact。Nexus是一套“开箱即用”的系统不需要数据库,它使用文件系统加Lucene来组织数据。Nexus 使用ExtJS来开发界面,利用Restlet来提供完整的REST APIs,通过m2eclipse与Eclipse集成使用。Nexus支持WebDAV与LDAP安全身份认证。

Nexus的下载地址是:http://www.sonatype.org/nexus/archived/,WINDOWS下载的是ZIP包,如:nexus-2.11.0-02-bundle.zip(文件名带有bundle表示该文件集成了web服务器,也就不需要再部署到其他中间件上面了)。

到官网上将ZIP的压缩包下载下来解压之后发现有两个文件夹,一个是nexus-2.11.0-02,另一个是sonatype-work;第一个文件夹包含了Nexus运行所需要的文件,是运行Nexus必须的;第二个文件夹目录包含Nexus生成的配置文件、日志文件、仓库文件等,当需要备份Nexus的时候,默认备份的是此目录文件。

二、设置环境变量

找到nexus目录下nexus-2.11.0-02中的bin文件夹,将至bin的目录路径加入到操作系统的path变量中。


三、启动

在nexus-2.11.0-02中的bin文件夹的jsw文件夹中,按操作系统放置了一些可执行脚本,可按情况双击运行,也可在命令行进行。

打开cmd命令行,输入nexus命令,会看到如下提示:start/stop/restart/install/uninstall,只要在nexus命令后面加这些命令中的其中之一即可,如下图所示,先安装,然后启动,成功之后可以打开浏览器:http://localhost:8081/nexus/#welcome,看到欢迎界面。
单击右上角的“Log In”按钮进行登录,Nexus的默认管理员账户密码为admin/admin123。

四、配置Nexus

登录进去之后,可以看到有repositories,点击,发现Releases和Snapshots仓库,其中Releases表示内部的模块中Release模块的发布仓库,Snapshots表示发布内部的Snapshot模块的仓库。3rd party表示第三方依赖的仓库,这三种都是hosted类型的仓库,其中Proxy类型的仓库表示从远程中央仓库中寻找数据的仓库。

我们可以从上图中看到四种仓库类型:group(仓库组)、hosted(宿主)、proxy(代理)和virtual(虚拟)。其中每种类型的Format有Maven1或者Maven2,这里我们不看Maven1的。仓库的Policy(策略)表示该仓库为发布(Release)版本还是快照(Snapshot)版本仓库。

在图5中,Nexus列出了默认的几个仓库:

Public Repositories:仓库组,将所有策略为Release的仓库聚合并通过一致的地址提供服务。

3rd party:一个策略为Release的宿主类型仓库,用来部署无法从公共仓库获得的第三方发布版本构件。

Apache Snapshots:策略为Snapshots的代理仓库,用来代理Apache Maven仓库的快照版本构件。

Central:该仓库代理Maven的中央仓库,策略为Release,只会下载和缓存中央仓库中的发布版本构件。

Central M1 shadow:maven1格式的虚拟类型仓库。

Codehaus Snapshots:代理Codehaus Maven仓库快照版本的代理仓库。

Release:策略为Release的宿主类型仓库,用来部署组织内部的发布版本构件。

Snapshots:策略为Snapshots的宿主类型仓库,用来部署组织内部的快照版本构件。


五、下载索引

点击左侧的Views/Repositories->下面出现Repositories->点击右边的Central->点击下面的Configuration

将Download Remote Indexes值改为true,点击“save”后,点击左边的“Administration”->"Scheduled Tasks"链接,如果没有出现“Update Repositories Index”处于Running状态,那么需要在Public Repositories行右击,点击"Update Index"。

然后再点击Schedule Tasks就可以看到有任务处于Running状态了。

等到索引下载完成之后,就可以在"Repositories"界面中,选择Browser Index选项卡,可以看到Maven中央仓库内容的树形结构,如下图所示。

在左边的搜索框中输入spring关键字,然后搜索,会出现一大堆与Spring相关的结果。

六、私有仓库配置
在MAVEN目录下的Settings.xml中配置远程仓库,Maven的Settings.xml中提供的profile是一组可选的配置,可以用来设置或者覆盖配置默认值,在Setting.xml文件中加入以下代码,

[html]  view plain copy
  1. <profiles>  
  2.     <profile>  
  3.         <id>local_nexus</id>  
  4.         <repositories>  
  5.             <repository>  
  6.                 <id>local_nexus</id>  
  7.                 <name>local_nexus</name>  
  8.                 <url>http://localhost:8081/nexus/content/groups/public/</url>  
  9.                 <releases>  
  10.                     <enabled>true</enabled>  
  11.                 </releases>  
  12.                 <snapshots>  
  13.                     <enabled>true</enabled>  
  14.                 </snapshots>  
  15.             </repository>  
  16.         </repositories>  
  17.         <pluginRepositories>  
  18.             <pluginRepository>  
  19.                 <id>local_nexus</id>  
  20.                 <name>local_nexus</name>  
  21.                 <url>http://localhost:8081/nexus/content/groups/public/</url>  
  22.                 <releases>  
  23.                     <enabled>true</enabled>  
  24.                 </releases>  
  25.                 <snapshots>  
  26.                     <enabled>true</enabled>  
  27.                 </snapshots>  
  28.             </pluginRepository>  
  29.         </pluginRepositories>  
  30.     </profile>  
  31. </profiles>  
  32. <activeProfiles>  
  33.     <activeProfile>local_nexus</activeProfile>  
  34. </activeProfiles>  

上面的配置中,使用了一个id为local_nexus的profile,这个profile包含了相关的仓库配置,同时配置中又使用了activeProfiles元素将nexus这个profile激活,这样当执行Maven构建的时候,激活的profile会将仓库配置应用到项目中去。

通过上面的配置,我们会发现Maven除了从Nexus下载构件外还会从中央仓库下载构件。既然是私服,那么我们就只希望Maven下载请求都仅仅通过Nexus。我们可以通过镜像实现这一需求。可以创建一个匹配任何仓库的镜像,镜像的地址是私服,这样Maven对任何仓库的构件下载请求都会转到私服中。把上面的配置修改为如下配置:

[html]  view plain copy
  1. <profiles>  
  2.     <profile>  
  3.         <id>local_nexus</id>  
  4.         <repositories>  
  5.             <repository>  
  6.                 <id>local_nexus</id>  
  7.                 <name>local_nexus</name>  
  8.                 <url>http://localhost:8081/nexus/content/groups/public/</url>  
  9.                 <releases>  
  10.                     <enabled>true</enabled>  
  11.                 </releases>  
  12.                 <snapshots>  
  13.                     <enabled>true</enabled>  
  14.                 </snapshots>  
  15.             </repository>  
  16.             <repository>  
  17.                 <id>central</id>  
  18.                 <url>http://repo.maven.apache.org/maven2</url>  
  19.                 <releases>  
  20.                     <enabled>true</enabled>  
  21.                 </releases>  
  22.                 <snapshots>  
  23.                     <enabled>true</enabled>  
  24.                 </snapshots>  
  25.             </repository>  
  26.         </repositories>  
  27.         <pluginRepositories>  
  28.             <pluginRepository>  
  29.                 <id>local_nexus</id>  
  30.                 <name>local_nexus</name>  
  31.                 <url>http://localhost:8081/nexus/content/groups/public/</url>  
  32.                 <releases>  
  33.                     <enabled>true</enabled>  
  34.                 </releases>  
  35.                 <snapshots>  
  36.                     <enabled>true</enabled>  
  37.                 </snapshots>  
  38.             </pluginRepository>  
  39.             <pluginRepository>  
  40.                 <id>central</id>  
  41.                 <url>http://repo.maven.apache.org/maven2</url>  
  42.                 <releases>  
  43.                     <enabled>true</enabled>  
  44.                 </releases>  
  45.                 <snapshots>  
  46.                     <enabled>true</enabled>  
  47.                 </snapshots>  
  48.             </pluginRepository>  
  49.         </pluginRepositories>  
  50.     </profile>  
  51. </profiles>  
  52. <activeProfiles>  
  53.     <activeProfile>local_nexus</activeProfile>  
  54. </activeProfiles>  

七、部署构件到私服

我们在实际开发过程是多个人的,那么总有一些公共模块或者说第三方构件是无法从Maven中央库下载的。我们需要将这些构件部署到私服上,供其他开发人员下载。用户可以配置Maven自动部署构件至Nexus的宿主仓库,也可以通过界面手动上传构件。

使用Maven部署构件到Nexus私服上

日常开发的快照版本部署到Nexus中策略为Snapshot的宿主仓库中,正式项目部署到策略为Release的宿主仓库中,POM的配置方式如下:

[html]  view plain copy
  1. <distributionManagement>  
  2.     <repository>  
  3.         <id>local_nexus_releases</id>  
  4.         <name>core Release Repository</name>  
  5.         <url>http://localhost:8081/nexus/content/repositories/releases/</url>  
  6.     </repository>  
  7.     <snapshotRepository>  
  8.         <id>local_nexus_snapshots</id>  
  9.         <name>core Snapshots Repository</name>  
  10.         <url>http://localhost:8081/nexus/content/repositories/snapshots/</url>  
  11.     </snapshotRepository>  
  12. </distributionManagement>  

Nexus的仓库对于匿名用户只是只读的。为了能够部署构件,我们还需要再settings.xml中配置验证信息:

[html]  view plain copy
  1. <pre name="code" class="plain">  
  2.     <servers>  
  3.         <server>  
  4.             <id>local_nexus_releases</id>  
  5.             <username>admin</username>  
  6.             <password>admin123</password>  
  7.         </server>  
  8.         <server>  
  9.             <id>local_nexus_snapshots</id>  
  10.             <username>admin</username>  
  11.             <password>admin123</password>  
  12.         </server>  
  13.     </servers>  

其中,验证信息中service的id应该与POM中repository的id一致。

在Nexus界面上手动部署第三方构件至私服

我们除了自己的构件要部署到Nexus私服上外,我们有可能还要将第三方构件(如:SQLService的JDBC)部署到Nexus上。这个时候,在Nexus界面上选择一个宿主仓库(如3rd party),再在页面下方选择Artifact Upload选项卡。填写对应的Maven坐标。然后点击“Select Artifact(s) for Upload”按钮从本机选择要上传的构件,然后点击“Add Artifact”按钮将其加入到上传列表中。最后,单击页面底部的“Upload Artifact(s)”按钮将构件上传到仓库中。

这篇关于WINDOWS中NEXUS的安装使用【ATCO整理】 2016-06-20 15:52 367人阅读 评论(0) 收藏 举报 分类: 项目管理(11) 版权声明:本文为博主原创文章,未经博主允许的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/966987

相关文章

ESP32 esp-idf esp-adf环境安装及.a库创建与编译

简介 ESP32 功能丰富的 Wi-Fi & 蓝牙 MCU, 适用于多样的物联网应用。使用freertos操作系统。 ESP-IDF 官方物联网开发框架。 ESP-ADF 官方音频开发框架。 文档参照 https://espressif-docs.readthedocs-hosted.com/projects/esp-adf/zh-cn/latest/get-started/index

Linux 安装、配置Tomcat 的HTTPS

Linux 安装 、配置Tomcat的HTTPS 安装Tomcat 这里选择的是 tomcat 10.X ,需要Java 11及更高版本 Binary Distributions ->Core->选择 tar.gz包 下载、上传到内网服务器 /opt 目录tar -xzf 解压将解压的根目录改名为 tomat-10 并移动到 /opt 下, 形成个人习惯的路径 /opt/tomcat-10

VMware9.0详细安装

双击VMware-workstation-full-9.0.0-812388.exe文件: 直接点Next; 这里,我选择了Typical(标准安装)。 因为服务器上只要C盘,所以我选择安装在C盘下的vmware文件夹下面,然后点击Next; 这里我把√取消了,每次启动不检查更新。然后Next; 点击Next; 创建快捷方式等,点击Next; 继续Cont

vcpkg安装opencv中的特殊问题记录(无法找到opencv_corexd.dll)

我是按照网上的vcpkg安装opencv方法进行的(比如这篇:从0开始在visual studio上安装opencv(超详细,针对小白)),但是中间出现了一些别人没有遇到的问题,虽然原因没有找到,但是本人给出一些暂时的解决办法: 问题1: 我在安装库命令行使用的是 .\vcpkg.exe install opencv 我的电脑是x64,vcpkg在这条命令后默认下载的也是opencv2:x6

20.Spring5注解介绍

1.配置组件 Configure Components 注解名称说明@Configuration把一个类作为一个loC容 器 ,它的某个方法头上如果注册7@Bean , 就会作为这个Spring容器中的Bean@ComponentScan在配置类上添加@ComponentScan注解。该注解默认会扫描该类所在的包下所有的配置类,相当于之前的 <context:component-scan>@Sc

问题-windows-VPN不正确关闭导致网页打不开

为什么会发生这类事情呢? 主要原因是关机之前vpn没有关掉导致的。 至于为什么没关掉vpn会导致网页打不开,我猜测是因为vpn建立的链接没被更改。 正确关掉vpn的时候,会把ip链接断掉,如果你不正确关掉,ip链接没有断掉,此时你vpn又是没启动的,没有域名解析,所以就打不开网站。 你可以在打不开网页的时候,把vpn打开,你会发现网络又可以登录了。 方法一 注意:方法一虽然方便,但是可能会有

【服务器运维】CentOS6 minimal 离线安装MySQL5.7

1.准备安装包(版本因人而异,所以下面的命令中版本省略,实际操作中用Tab自动补全就好了) cloog-ppl-0.15.7-1.2.el6.x86_64.rpmcpp-4.4.7-23.el6.x86_64.rpmgcc-4.4.7-23.el6.x86_64.rpmgcc-c++-4.4.7-23.el6.x86_64.rpmglibc-2.12-1.212.el6.x86_64.r

【服务器运维】CentOS7 minimal 离线安装 gcc perl vmware-tools

0. 本机在有网的情况下,下载CentOS镜像 https://www.centos.org/download/ 1. 取出rpm 有的情况可能不需要net-tools,但是如果出现跟ifconfig相关的错误,就把它安装上。另外如果不想升级内核版本的话,就找对应内核版本的rpm版本安装 perl-Time-Local-1.2300-2.el7.noarch.rpmperl-Tim

Windows/macOS/Linux 安装 Redis 和 Redis Desktop Manager 可视化工具

本文所有安装都在macOS High Sierra 10.13.4进行,Windows安装相对容易些,Linux安装与macOS类似,文中会做区分讲解 1. Redis安装 1.下载Redis https://redis.io/download 把下载的源码更名为redis-4.0.9-source,我喜欢跟maven、Tomcat放在一起,就放到/Users/zhan/Documents

Ubuntu20.04离线安装Docker

1.下载3个docker离线安装包,下载网址: https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/ 2.把3个离线安装包拷贝到ubuntu本地执行以下命令 sudo dpkg -i containerd.io_1.4.6-1_amd64.deb sudo dpkg -i docker-ce-c