当前位置:   article > 正文

WINDOWS中NEXUS的安装使用【ATCO整理】_windows nexus 文件放在哪里

windows nexus 文件放在哪里

一、介绍

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文件中加入以下代码,

  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对任何仓库的构件下载请求都会转到私服中。把上面的配置修改为如下配置:

  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的配置方式如下:

  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中配置验证信息:

  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)”按钮将构件上传到仓库中。


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/124639
推荐阅读
相关标签
  

闽ICP备14008679号