您的位置:首页 > 其它

【Maven实战】仓库介绍和Nexus的安装

2015-09-25 17:11 375 查看
在Maven中我们之前进行配置一个项目的依赖时,引用一下jar包,这些jar包第一次都会从一个地方进行下载,这个地方称为仓库,而对于仓库一般有本地仓库和中心仓库之分,但是我们一般在做项目时会在自己的服务器上配置一个私有仓库,那么我们下面就来创建一个私有仓库,这里我们使用的一个工具叫做Nexus。



1、首先到http://www.sonatype.org/nexus/下载对应的nexus安装包:nexus-latest-bundle.zip

2、解压缩得到的压缩包,然后将此压缩包中的bin目录(这里为:D:\docs\nexus-latest-bundle\nexus-2.5.1-01\bin)配置到path环境变量中:



3、接着打开cmd,输入nexus:



这边会让我们执行start、stop、install、uninstall等命令,我们首先执行install命令:



此时就会提示我们安装成功了,并且会在系统服务中生成nexus的服务:



此时我们再修改D:\docs\nexus-latest-bundle\nexus-2.5.1-01\bin\jsw\conf,下的wrapper.conf文件,如下:

1 # Set the JVM executable
2 # (modify this to absolute path if you need a Java that is not on the OS path)
3 wrapper.java.command=java


 

其中的wrapper.java.command=java修改为本机安装的JDK路径:

1 # Set the JVM executable
2 # (modify this to absolute path if you need a Java that is not on the OS path)
3 wrapper.java.command=C:\Program Files\Java\jdk1.7.0_17\bin\java


 

然后执行nexus start命令:



4、打开浏览器,输入:http://localhost:8081/nexus就能进行访问了:



 5、点击右上角的login进行登陆:用户名:admin,密码:admin123,登陆完成以后就会有很多的命令可以供我们进行操作了



 

 这里我们注意观察type属性中的内容:
hosted:表示是内部项目发布仓库



proxy仓库:从远程中央仓库中寻找数据的仓库,代理仓库。



group仓库:组仓库,方便开发人员用来访问的仓库,这里面包含了其他的所有仓库,这样我们引用仓库时就非常方便了



6、仓库建立完成之后,我们就可以设置项目引用的仓库了,这里我们在user-core项目中引用我们的group仓库:

1 <repositories>
2      <repository>
3         <id>group</id>
4         <name>group repository</name>
5         <url>http://localhost:8081/nexus/content/groups/public/</url>    //这里的url我们可以到nexus的控制面板中找到
6         <releases><enabled>true</enabled></releases>
7         <snapshots><enabled>true</enabled></snapshots>
8      </repository>
9   </repositories>


 

配置完成以后,我们user-aggregation项目中随便的加入一个jar包的依赖,这里加入的是commons-io:

1 <dependency>
2             <groupId>commons-io</groupId>
3             <artifactId>commons-io</artifactId>
4             <version>2.4</version>
5         </dependency>


 

这样我们可以看到默认的就会到我们自己的本地仓库进行下载了:



有的时候可能不会出现以上的这种情况,程序可能还会自动的从中央仓库进行下载,这时我们如果配置其不让从中央仓库下载的话,我们可以找到maven中的settings文件,然后找到其中的mirrors节点,为我们的中央仓库配置一下镜像:

1  <mirrors>
2     <!-- mirror
3      | Specifies a repository mirror site to use instead of a given repository. The repository that
4      | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
5      | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
6      |
7     <mirror>
8       <id>mirrorId</id>
9       <mirrorOf>repositoryId</mirrorOf>
10       <name>Human Readable Name for this Mirror.</name>
11       <url>http://my.repository.com/repo/path</url>
12     </mirror>
13      -->
14      <mirror>
15       <id>central</id>
16       <mirrorOf>central</mirrorOf>
17       <name>Human Readable Name for this Mirror.</name>
18       <url>http://localhost:8081/nexus/content/groups/public/</url>   //为中央仓库设置镜像url,这样当访问中央仓库时不是访问中央仓库的地址,而是我们配置的镜像地址,也就是我们自己服务器的地址
19     </mirror>
20   </mirrors>


 

这样当程序试图访问中央仓库时会自动的转到我们自己的仓库了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: