本地用maven搭建SpringMvc+redis集成

---恢复内容开始---

首先本地需要搭建私服,简单说一下搭建私服的步骤

1.为什么使用Nexus

        如果没有私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地,而一个团队中的所有人都重复的从maven仓库下载构件无疑加大了仓库的负载和浪费了外网带宽,如果网速慢的话,还会影响项目的进程。很多情况下项目的开发都是在内网进行的,连接不到maven仓库怎么办呢?开发的公共构件怎么让其它项目使用?这个时候我们不得不为自己的团队搭建属于自己的maven私服,这样既节省了网络带宽也会加速项目搭建的进程,当然前提条件就是你的私服中拥有项目所需的所有构件。

2.Nexus下载

       下载地址:http://www.sonatype.org/nexus/go

3.Nexus启动

       我下载的是zip包,解压后进入\nexus-2.1.2-bundle\nexus-2.1.2\bin\jsw\,根据操作系统类型选择文件夹,我选的是windows-x86-64文件夹,进入后可看到如下所示bat文件。

4.进入Nexus管理页面

http://localhost:8081/nexus/index.html

默认密码 admin admin123

Nexus仓库

     nexus的仓库类型分为以下四种:

               group: 仓库组

               hosted:宿主

              proxy:代理

              virtual:虚拟

            首次登陆nexus后可以看到以下一个仓库组和多个仓库。

Public Repositories:  仓库组

                      3rd party: 无法从公共仓库获得的第三方发布版本的构件仓库

                      Apache Snapshots: 用了代理ApacheMaven仓库快照版本的构件仓库

                      Central: 用来代理maven中央仓库中发布版本构件的仓库

                      Central M1 shadow: 用于提供中央仓库中M1格式的发布版本的构件镜像仓库

                      Codehaus Snapshots: 用来代理CodehausMaven 仓库的快照版本构件的仓库

                      Releases: 用来部署管理内部的发布版本构件的宿主类型仓库               

                      Snapshots:用来部署管理内部的快照版本构件的宿主类型仓库

5.配置nexus

新搭建的neuxs环境只是一个空的仓库,需要手动和远程中心库进行同步,nexus默认是关闭远程索引下载,最重要的一件事情就是开启远程索引下载。登陆nexus系统,默认用户名密码为admin/admin123。

点击左边Administration菜单下面的Repositories,找到右边仓库列表中的三个仓库Apache Snapshots,Codehaus Snapshots和Maven Central,然后再没有仓库的configuration下把Download Remote Indexes修改为true。如下图

 

 

然后在Apache Snapshots,Codehaus Snapshots和Maven Central这三个仓库上分别右键,选择Repari Index,这样Nexus就会去下载远程的索引文件。

 

 

 

 

这样设置以后, Nexus会自动从远程中央仓库下载索引文件, 为了检验索引文件自动下载是否生效,可以却换到Browse Index

 

 

在左边菜单栏里面有个Artifact Search, 在输入框里面输入你想要搜索的构件名字,比如:maven, 那么查询结果如下:

6.建立宿主仓库

新 建公司的内部仓库,步骤为Repositories –> Add –> Hosted Repository,在页面的下半部分输入框中填入Repository ID和Repository Name即可,比如分别填入

xb 和 xb repostiory,另外把Deployment Policy设置为Allow Redeploy,点击save就创建完成了。

这里我点击添加宿主类型的仓库,在仓库列表的下方会出现新增仓库的配置,如下所示:

7.创建Nexus仓库组

Nexus 中仓库组的概念是Maven没有的,在Maven看来,不管你是hosted也好,proxy也好,或者group也好,对我都是一样的,我只管根据 groupId,artifactId,version等信息向你要构件。为了方便Maven的配置,Nexus能够将多个仓库,hosted或者 proxy合并成一个group,这样,Maven只需要依赖于一个group,便能使用所有该group包含的仓库的内容。

neuxs- 1.9.2.3中默认自带了一个名为“Public Repositories”组,点击该组可以对他保护的仓库进行调整,把刚才建立的公司内部仓库xb repostiory加入其中,这样就不需要再在maven中明确指定内部仓库 的地址了。同时创建一个Group ID为public-snapshots、Group Name为Public Snapshots Repositories的组,把Apache Snapshots、Codehaus Snapshots、Snapshots和zfy repostiory加入其中。

到这里neuxs的安装配置就完成了,下面介绍如何在maven中使用自己的私服

 私服搭建好了,接下来就创建maven项目,我这边用的eclipse

groupid和artifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找。
  groupId一般分为多个段,这里我只说两段,第一段为域,第二段为公司名称。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织。举个apache公司的tomcat项目例子:这个项目的groupId是org.apache,它的域是org(因为tomcat是非营利项目),公司名称是apache,artigactId是tomcat。
  比如我创建一个项目,我一般会将groupId设置为cn.xb,cn表示域为中国,xb是我个人姓名缩写,artifactId设置为testProj,表示你这个项目的名称是testProj,依照这个设置,你的包结构最好是cn.xb.testProj打头的,如果有个StudentPeng,它的全路径就是cn.xb.testProj.StudentPeng

 此时项目还有错,通过提示信息可知是由于找不到HttpServlet类,可通过导入Tomcat到工作目录或者通过Maven添加HttpServlet类所在的servlet-api.jar

 

 pom文件配置如下

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>cn.xb</groupId>
    <artifactId>SpringRedis</artifactId>
    <packaging>war</packaging>
    <version>0.0.1-SNAPSHOT</version>
    <name>SpringRedis Maven Webapp</name>
    <url>http://maven.apache.org</url>

    <!-- 本地快照 和release 发布 的配置 -->
    <distributionManagement>
        <repository>
            <!-- ID要和MAVEN中conif/setting.xml 中的server保持一致 -->
            <id>nexus-releases</id>
            <name>User nexus Release</name>
            <!-- release版本的url地址 -->
            <url>http://localhost:8081/nexus/content/groups/public/</url>
        </repository>

        <snapshotRepository>
            <!-- ID要和MAVEN中conif/setting.xml 中的server保持一致 -->
            <id>nexus-snapshots</id>
            <name>User nexus SNAPSHOTS</name>
            <!-- snapshot版本的url地址 -->
            <url>http://localhost:8081/nexus/content/groups/Public-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

    <repositories>
        <repository>
            <id>central</id>
            <name>central</name>
            <!-- 配置仓库的地址 -->
            <url>http://localhost:8081/nexus/content/groups/</url>
        </repository>
    </repositories>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
        
        <dependency>
          <groupId>tomcat</groupId>
          <artifactId>servlet-api</artifactId>
          <version>5.5.23</version>
        </dependency>
    </dependencies>
    <build>
        <finalName>SpringRedis</finalName>
    </build>
</project>
以上是maven配置完成了

下边是集成redis及redis使用

 

 

 

---恢复内容结束---

posted on 2017-06-28 15:29  boboxing2017  阅读(273)  评论(0编辑  收藏  举报