关于私服:Nexus 搭建

本贴最后更新于 3001 天前,其中的信息可能已经时移世改

今日闲来无事,就搭建了个 Nexus 私服。

这种文章烂大街了,但我还是记录一下吧,方便用到。

[下载链接:http://www.sonatype.com/download-oss-sonatype] (http://www.sonatype.com/download-oss-sonatype)

解压完成并开启 Nexus 服务后输入:http://localhost:8081/nexus/


之后登录系统

####账号:admin
####密码:admin123


随后点击左侧菜单栏的 Repositories 按钮

下面引用我从搜索引擎找到的:

一般用到的仓库种类是 hosted、proxy。Hosted 代表宿主仓库,用来发布一些第三方不允许的组件,比如 oracle 驱动、比如商业软件 jar 包。
Proxy 代表代理远程的仓库,最典型的就是 Maven 官方中央仓库、JBoss 仓库等等。
如果构建的 Maven 项目本地仓库没有依赖包,那么就会去这个代理站点去下载,那么如果代理站点也没有此依赖包,就回去远程中央仓库下载依赖,这些中央仓库就是 proxy。
代理站点下载成功后再下载至本机。
其实 Maven 这个自带的默认仓库一般情况下已经够大多数项目使用了。
特殊情况时在配置新的仓库,指定 url 即可,一般熟悉 ExtJS 的人操作这个 Nexus 都没什么问题,单词不是很难,不明白的查查单词基本差不多。

  • hosted 类型的仓库,内部项目的发布仓库

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

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

  • 3rd party 第三方依赖的仓库,这个数据通常是由内部人员自行下载之后发布上去

  • proxy 类型的仓库,从远程中央仓库中寻找数据的仓库

  • group 类型的仓库,组仓库用来方便我们开发人员进行设置的仓库

maven 项目索引


#### 下载Maven项目索引,项目索引是为了使用者能够在私服站点查找依赖使用的功能
![alt](http://img.blog.csdn.net/20130613133516593 'alt')
#### 保存后后台会运行一个任务,点击菜单栏的Scheduled Tasks选项即可看到有个任务在RUNNING。 下载完成后,Maven索引就可以使用了,在搜索栏输入要搜索的项,就可以查到相关的信息。例如spring-core
![alt](http://img.blog.csdn.net/20130613135224171 'alt')
#### 就可以检索出它的相关信息,包括怎么配置依赖信息。我们要想使用这个私服仓库,先在项目pom中配置相关私服信息
## 指定仓库
    <repositories>
        <repository>
           <id>nexus</id>  
            <name>nexus</name>  
            <url>http://192.168.1.100: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.103:8081/nexus/content/groups/public/</url>  
            <releases>  
                <enabled>true</enabled>  
            </releases>  
            <snapshots>  
                <enabled>true</enabled>  
            </snapshots>  
        </pluginRepository>  
    </pluginRepositories>

项目中私服下载组件


#### 这样这个Maven项目构建的时候会从私服下载相关依赖。当然这个配置仅仅是在此项目中生效,对于其他项目还是不起作用。如果相对Maven的其他项目也生效的话。需要修改全局的settings.xml文件。
![alt](http://img.blog.csdn.net/20130613140029468 'alt')
  <profile>
      <repositories>
      	<repository>
      		<id>central</id>
      		<name>central</name>
      		<url>http://192.168.0.100:8081/nexus/content/groups/public/</url>
      		<layout>default</layout>
      		<releases>
      			<enabled>true</enabled>
      		</releases>
      		<snapshots>
      			<enabled>true</enabled>
      		</snapshots>
      	</repository>
      </repositories>
    </profile>
  </profiles>
  <activeProfiles>
    <activeProfile>central</activeProfile>
  </activeProfiles>

之后所有本机的 Maven 项目就在私服下载组件。(这样比较好)

嗯,就这些了吧。发布什么的,估计我也用不到我也就不写啦。

ps:(我才不说我懒的)

  • Nexus
    13 引用 • 20 回帖
  • 仓库
    5 引用 • 9 回帖
  • Maven

    Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

    186 引用 • 318 回帖 • 305 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...