zoukankan      html  css  js  c++  java
  • 01淘淘商城项目:项目Maven工程搭建

    最近在学习淘淘商城项目的搭建,使用maven做管理

    后台管理系统工程搭建:

    使用maven的好处:

    1.依赖管理、jar包、工程之间依赖

    2.项目构建:实现项目的一步构建

    3.工程聚合、继承、依赖

    maven工程分为三种类型:

    pom工程:用在父级工程,聚合工程中

    war包工程:主要用作网站

    jar包工程:就是当作jar使用的,可以用来打包

    先给出总的项目结构,然后再解释是如何实现这些结构的

    解释如下:

    1.taotao-parent

    taotao-parent公司级别的maven工程。主要功能是统一公司做各种项目时用的jar包的版本

    比如我们做淘淘商城,或者别的什么项目都要去继承这个项目。

    首先安装本地仓库:

    把该文件拷贝到自己机子的对应.m2目录下覆盖本地仓库的内容

    下面开始创建maven工程

    new-->选择maven project

    然后修改pom.xml文件,如下:

    配置所有jar包的版本信息

    <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/xsd/maven-4.0.0.xsd">

         <modelVersion>4.0.0</modelVersion>

         <groupId>com.taotao</groupId>

         <artifactId>taotao-parent</artifactId>

         <version>0.0.1-SNAPSHOT</version>

         <packaging>pom</packaging>

         <!-- 集中定义依赖版本号 -->

         <properties>

             <junit.version>4.12</junit.version>

             <spring.version>4.1.3.RELEASE</spring.version>

             <mybatis.version>3.2.8</mybatis.version>

             <mybatis.spring.version>1.2.2</mybatis.spring.version>

             <mybatis.paginator.version>1.2.15</mybatis.paginator.version>

             <mysql.version>5.1.32</mysql.version>

             <slf4j.version>1.6.4</slf4j.version>

             <jackson.version>2.4.2</jackson.version>

             <druid.version>1.0.9</druid.version>

             <httpclient.version>4.3.5</httpclient.version>

             <jstl.version>1.2</jstl.version>

             <servlet-api.version>2.5</servlet-api.version>

             <jsp-api.version>2.0</jsp-api.version>

             <joda-time.version>2.5</joda-time.version>

             <commons-lang3.version>3.3.2</commons-lang3.version>

             <commons-io.version>1.3.2</commons-io.version>

             <commons-net.version>3.3</commons-net.version>

             <pagehelper.version>3.4.2-fix</pagehelper.version>

             <jsqlparser.version>0.9.1</jsqlparser.version>

             <commons-fileupload.version>1.3.1</commons-fileupload.version>

             <jedis.version>2.7.2</jedis.version>

              <solrj.version>4.10.3</solrj.version>

         </properties>

         <!-- 只定义依赖的版本,并不实际依赖 -->

         <dependencyManagement>

             <dependencies>

                  <!-- 时间操作组件 -->

                  <dependency>

                       <groupId>joda-time</groupId>

                       <artifactId>joda-time</artifactId>

                       <version>${joda-time.version}</version>

                  </dependency>

                  <!-- Apache工具组件 -->

                  <dependency>

                       <groupId>org.apache.commons</groupId>

                       <artifactId>commons-lang3</artifactId>

                       <version>${commons-lang3.version}</version>

                  </dependency>

                  <dependency>

                       <groupId>org.apache.commons</groupId>

                       <artifactId>commons-io</artifactId>

                       <version>${commons-io.version}</version>

                  </dependency>

                  <dependency>

                       <groupId>commons-net</groupId>

                       <artifactId>commons-net</artifactId>

                       <version>${commons-net.version}</version>

                  </dependency>

                  <!-- Jackson Json处理工具包 -->

                  <dependency>

                       <groupId>com.fasterxml.jackson.core</groupId>

                       <artifactId>jackson-databind</artifactId>

                       <version>${jackson.version}</version>

                  </dependency>

                  <!-- httpclient调用服务用的客户端 -->

                  <dependency>

                       <groupId>org.apache.httpcomponents</groupId>

                       <artifactId>httpclient</artifactId>

                       <version>${httpclient.version}</version>

                  </dependency>

                  <!-- 单元测试 -->

                  <dependency>

                       <groupId>junit</groupId>

                       <artifactId>junit</artifactId>

                       <version>${junit.version}</version>

                       <scope>test</scope>

                  </dependency>

                  <!-- 日志处理 -->

                  <dependency>

                       <groupId>org.slf4j</groupId>

                       <artifactId>slf4j-log4j12</artifactId>

                       <version>${slf4j.version}</version>

                  </dependency>

                  <!-- Mybatis -->

                  <dependency>

                       <groupId>org.mybatis</groupId>

                       <artifactId>mybatis</artifactId>

                       <version>${mybatis.version}</version>

                  </dependency>

                  <dependency>

                       <groupId>org.mybatis</groupId>

                       <artifactId>mybatis-spring</artifactId>

                       <version>${mybatis.spring.version}</version>

                  </dependency>

                  <dependency>

                       <groupId>com.github.miemiedev</groupId>

                       <artifactId>mybatis-paginator</artifactId>

                       <version>${mybatis.paginator.version}</version>

                  </dependency>

                  <dependency>

                       <groupId>com.github.pagehelper</groupId>

                       <artifactId>pagehelper</artifactId>

                       <version>${pagehelper.version}</version>

                  </dependency>

                  <!-- MySql -->

                  <dependency>

                       <groupId>mysql</groupId>

                       <artifactId>mysql-connector-java</artifactId>

                       <version>${mysql.version}</version>

                  </dependency>

                  <!-- 连接池 -->

                  <dependency>

                       <groupId>com.alibaba</groupId>

                       <artifactId>druid</artifactId>

                       <version>${druid.version}</version>

                  </dependency>

                  <!-- Spring -->

                  <dependency>

                       <groupId>org.springframework</groupId>

                       <artifactId>spring-context</artifactId>

                       <version>${spring.version}</version>

                  </dependency>

                  <dependency>

                       <groupId>org.springframework</groupId>

                       <artifactId>spring-beans</artifactId>

                       <version>${spring.version}</version>

                  </dependency>

                  <dependency>

                       <groupId>org.springframework</groupId>

                       <artifactId>spring-webmvc</artifactId>

                       <version>${spring.version}</version>

                  </dependency>

                  <dependency>

                       <groupId>org.springframework</groupId>

                       <artifactId>spring-jdbc</artifactId>

                       <version>${spring.version}</version>

                  </dependency>

                  <dependency>

                       <groupId>org.springframework</groupId>

                       <artifactId>spring-aspects</artifactId>

                       <version>${spring.version}</version>

                  </dependency>

                  <!-- JSP相关 -->

                  <dependency>

                       <groupId>jstl</groupId>

                       <artifactId>jstl</artifactId>

                       <version>${jstl.version}</version>

                  </dependency>

                  <dependency>

                       <groupId>javax.servlet</groupId>

                       <artifactId>servlet-api</artifactId>

                       <version>${servlet-api.version}</version>

                       <scope>provided</scope>

                  </dependency>

                  <dependency>

                       <groupId>javax.servlet</groupId>

                       <artifactId>jsp-api</artifactId>

                       <version>${jsp-api.version}</version>

                       <scope>provided</scope>

                  </dependency>

                  <!-- 文件上传组件 -->

                  <dependency>

                       <groupId>commons-fileupload</groupId>

                       <artifactId>commons-fileupload</artifactId>

                       <version>${commons-fileupload.version}</version>

                  </dependency>

                  <!-- Redis客户端 -->

                  <dependency>

                       <groupId>redis.clients</groupId>

                       <artifactId>jedis</artifactId>

                       <version>${jedis.version}</version>

                  </dependency>

                  <!-- solr客户端 -->

                  <dependency>

                       <groupId>org.apache.solr</groupId>

                       <artifactId>solr-solrj</artifactId>

                       <version>${solrj.version}</version>

                  </dependency>

             </dependencies>

         </dependencyManagement>

         <build>

             <finalName>${project.artifactId}</finalName>

             <plugins>

                  <!-- 资源文件拷贝插件 -->

                  <plugin>

                       <groupId>org.apache.maven.plugins</groupId>

                       <artifactId>maven-resources-plugin</artifactId>

                       <version>2.7</version>

                       <configuration>

                           <encoding>UTF-8</encoding>

                       </configuration>

                  </plugin>

                  <!-- java编译插件 -->

                  <plugin>

                       <groupId>org.apache.maven.plugins</groupId>

                       <artifactId>maven-compiler-plugin</artifactId>

                       <version>3.2</version>

                       <configuration>

                           <source>1.7</source>

                           <target>1.7</target>

                           <encoding>UTF-8</encoding>

                       </configuration>

                  </plugin>

             </plugins>

             <pluginManagement>

                  <plugins>

                       <!-- 配置Tomcat插件 -->

                       <plugin>

                           <groupId>org.apache.tomcat.maven</groupId>

                           <artifactId>tomcat7-maven-plugin</artifactId>

                           <version>2.2</version>

                       </plugin>

                  </plugins>

             </pluginManagement>

         </build>

    </project>

    上面用的就是我们公司用的所有的jar包,注意这个taotao-parent的maven的工程的意义在于统一公司所有项目用的jar包的版本

    所以他的特点就是不实现具体的jar包依赖,

    只实现版本的控制:

     <!-- 只定义版本,并不实际依赖-->
       <dependencyManagement>

    加了这句话,我们就可以只控制版本,不实现具体的依赖。我们知道Maven的依赖需要三个坐标:

    <groupId></groupId>
    <artifactId></artifactId>
    <version></version>

    继承这个taotao-parent工程的项目,只需要两个坐标:
    <groupId></groupId>
    <artifactId></artifactId>
    此时就不需要版本了,因为已经从继承中得到了版本号,所以不需要在定义


    2.taotao-common
    这个工程是存放公用的工具类:比如什么单元测试啊,json包什么的。因为公司的项目不会只有我们这么一个taotao项目用这些工具类,
    别的项目也会有用的,所以我们呢把这些工具类统一出来。
    建立过程如下:注意我们用的是jar.而且继承之前的taotao-parent工程。

    
    
    
  • 相关阅读:
    Nightingale 加发邮件功能
    Centos7 系统进程解析
    Nightingale 夜莺监控系统 安装
    iptables:应用防火墙规则:ptables-restore: line xxx failed [失败]
    CAD2011卸载不干净 无法重装问题
    Make Globle HS 全局热备
    Swarm工具使用
    docker-registry构建私有的镜像仓库
    MySQL Replication
    javascript 设计模式之单例模式
  • 原文地址:https://www.cnblogs.com/bystudy/p/6655575.html
Copyright © 2011-2022 走看看