zoukankan      html  css  js  c++  java
  • 淘淘商城maven工程的创建和svn的上传实现

      后台管理系统工程结构

     maven管理的好处

    1、项目构建。Maven定义了软件开发的整套流程体系,并进行了封装,开发人员只需要指定项目的构建流程,无需针对每个流程编写自己的构建脚本。

    2、依赖管理。除了项目构建,Maven最核心的功能是软件包的依赖管理,能够自动分析项目所需要的依赖软件包,并到Maven中心仓库去下载。

    A)管理依赖的jar包

    B)管理工程之间的依赖关系。

     Maven本地仓库

    在当前系统用户的文件夹下。例如当前用户是Administrator那么本地仓库就是在

    C:UsersAdministrator.m2目录下。

    只需要用老师提供的.m2覆盖本地的就可以。

    Maven插件使用eclipse ma依赖管理

    传统工程结构:

     
       

    Maven管理的工程结构

    不使用maven:工程部署时需要手动复制jar包。完成工程构建。非常繁琐。

    使用maven进行工程构建:

    使用maven可以实现一步构建。

     后台管理系统工程结构:

    taotao-parent -- 管理依赖jar包的版本,全局,公司级别

    |--taotao-common  --- 通用组件、工具类

    |--taotao-manage  -- 后台系统

      |--com.taotao.manage.web

      |--com.taotao.manage.service

      |--com.taotao.manage.mapper

      |--com.taotao.manage.pojo

    1.4. 创建taotao-parent(pom工程,所有工程都继承与此工程)

    1.4.1.   创建maven工程

    1.4.2.   修改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/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>

      将taotao-parent安装到本地仓库。

    taotao-common(jar工程,用于管理所需要的工具包)

    要对taotao-parent的继承

     创建工程

     修改pom文件

    修改taotao-common工程的pom文件,在文件中添加对taotao-parent的继承

    <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>

      <parent>

         <groupId>com.taotao</groupId>

         <artifactId>taotao-parent</artifactId>

         <version>0.0.1-SNAPSHOT</version>

      </parent>

      <groupId>com.taotao</groupId>

      <artifactId>taotao-common</artifactId>

      <version>0.0.1-SNAPSHOT</version>

    </project>

    1.5.3.   更新工程

    工程点击右键→maven→update Project Configuration

    1.6. taotao-manager(需要依赖taotao-common)

    1.6.1.   创建taotao-manager(pom工程,用来管理下面的四个文件)

     修改pom文件:

    在对应的工程中的pom.xml中添加所对应的依赖,直接从taotao-parent的依赖中拷贝即可。

     taotao-manage-pojo(jar工程)

    Taotao-manager-mapper(jar工程)

    Taotao-manager-service(jar工程)

     Taotao-manager-web(war工程)

    war工程需要web.xml文件

      配置工程:

    2.      Web.xml

    <?xml version="1.0" encoding="UTF-8"?>

    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

        xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"

        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"

        id="taotao" version="2.5">

        <display-name>taotao-manager</display-name>

        <welcome-file-list>

            <welcome-file>index.html</welcome-file>

            <welcome-file>index.htm</welcome-file>

            <welcome-file>index.jsp</welcome-file>

            <welcome-file>default.html</welcome-file>

            <welcome-file>default.htm</welcome-file>

            <welcome-file>default.jsp</welcome-file>

        </welcome-file-list>

     

    </web-app>

    1.6.6.   配置tomcat插件

    运行web工程需要添加一个tomcat插件。插件必须添加到taotao-manager工程中。因为taotao-manager是聚合工程。在运行时需要把子工程聚合到一起才能运行。

    <build>

              <plugins>

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

                   <plugin>

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

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

                        <version>2.2</version>

                        <configuration>

                             <port>8080</port>

                             <path>/</path>

                        </configuration>

                   </plugin>

              </plugins>

         </build>

    启动tomcat命令:tomcat7:run

    1.6.7.   taotao-manage子模块依赖关系

    依赖关系:

    web -》 service

    service -》 mapper

    mapper -》 pojo

    2.   提交代码到SVN

    2.1. 提交代码

    注意:提交到SVN的Maven项目,只提交src和pom.xml

    2.2. 从SVN检出项目

    1、  从trunk检出项目,并且重命名项目名称

    2、  转化为maven项目


    3、  聚合项目中子项目需要从父工程中【导入】,选择 【已经存在的maven项目】,不能从SVN再次检出子项目


  • 相关阅读:
    解决 网上下载的例子 My Mac 64bit 不能运行的问题
    给XMLHttpRequest设置超时时间
    MSN常见登录错误解决方法
    javascript keycode大全
    禁止手动修改FileUpload控件
    "ORA00942: 表或视图不存在 "的原因和解决方法
    梅花雪控件树应用实例----异步绑定自定义表结构的用户部门表
    菜鸟学模式三 观察者模式
    菜鸟学模式一 序言
    利用js去除打印时的页眉页脚
  • 原文地址:https://www.cnblogs.com/fengli9998/p/6119876.html
Copyright © 2011-2022 走看看