一、web项目开发进阶之分模块管理项目之通用模块

  以前的web项目都是统一一个工程,其他人员在这个项目拉取分支进行开发,但是若需要多个人协作同时进行开发时,会造成各种各样的问题。为了解决这些问题,按照业务逻辑进行区分,将一个项目按照多个模块进行构建。
(一)所有项目的父模块“parent”
  父模块的主要功能是管理各种依赖及其依赖的版本,同时注意打包方式为“jar”包(使用“mvn clean install命令,即可将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.0modelVersion>

    <groupId>org.pcgroupId>
    <artifactId>parentartifactId>
    <version>1.0-SNAPSHOTversion>
    <packaging>jarpackaging>

    <properties>
        <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8project.reporting.outputEncoding>
        <java.version>1.8java.version>

        <spring.version>4.3.17.RELEASEspring.version>

        <mysql.connector.java.version>5.1.29mysql.connector.java.version>
        <alibaba.druid.version>1.0.2alibaba.druid.version>
        <mybatis.version>3.4.2mybatis.version>
        <mybatis.pagehelper.version>5.1.4mybatis.pagehelper.version>
        <spring.mybatis.version>1.3.1spring.mybatis.version>

        <javax.servlet.api.version>3.1.0javax.servlet.api.version>
        <jsp.api.version>2.2.1-b03jsp.api.version>
        <jstl.version>1.2jstl.version>

        <jedis.version>2.9.0jedis.version>
        <solr.solrj.version>7.4.0solr.solrj.version>

        <junit.version>4.12junit.version>
    properties>
    <dependencyManagement>
        <dependencies>
            
            <dependency>
                <groupId>org.springframeworkgroupId>
                <artifactId>spring-framework-bomartifactId>
                <version>${spring.version}version>
                <type>pomtype>
                <scope>importscope>
            dependency>
        dependencies>
    dependencyManagement>
    <dependencies>
        
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-coreartifactId>
        dependency>
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-webartifactId>
        dependency>
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-webmvcartifactId>
        dependency>
        
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-beansartifactId>
        dependency>
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-contextartifactId>
            
            <exclusions>
                <exclusion>
                    <groupId>commons-logginggroupId>
                    <artifactId>commons-loggingartifactId>
                exclusion>
            exclusions>
        dependency>
        
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-expressionartifactId>
        dependency>
        
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-txartifactId>
        dependency>
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-jdbcartifactId>
        dependency>
        
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-aopartifactId>
        dependency>
        

        
        
        <dependency>
            <groupId>mysqlgroupId>
            <artifactId>mysql-connector-javaartifactId>
            <version>${mysql.connector.java.version}version>
        dependency>

        
        <dependency>
            <groupId>com.alibabagroupId>
            <artifactId>druidartifactId>
            <version>${alibaba.druid.version}version>
        dependency>
        
        <dependency>
            <groupId>org.mybatisgroupId>
            <artifactId>mybatisartifactId>
            <version>${mybatis.version}version>
        dependency>
        
        <dependency>
            <groupId>org.mybatisgroupId>
            <artifactId>mybatis-springartifactId>
            <version>${spring.mybatis.version}version>
        dependency>
        
        <dependency>
            <groupId>com.github.pagehelpergroupId>
            <artifactId>pagehelperartifactId>
            <version>${mybatis.pagehelper.version}version>
        dependency>
        
        

        
        
        <dependency>
            <groupId>javax.servletgroupId>
            <artifactId>javax.servlet-apiartifactId>
            <version>${javax.servlet.api.version}version>
            <scope>providedscope>
        dependency>
        
        <dependency>
            <groupId>javax.servlet.jspgroupId>
            <artifactId>jsp-apiartifactId>
            <version>2.2.1-b03version>
        dependency>
        
        <dependency>
            <groupId>javax.servletgroupId>
            <artifactId>jstlartifactId>
            <version>1.2version>
        dependency>
        

        
        <dependency>
            <groupId>redis.clientsgroupId>
            <artifactId>jedisartifactId>
            <version>${jedis.version}version>
        dependency>
        
        <dependency>
            <groupId>org.apache.solrgroupId>
            <artifactId>solr-solrjartifactId>
            <version>${solr.solrj.version}version>
        dependency>
        
        <dependency>
            <groupId>junitgroupId>
            <artifactId>junitartifactId>
            <version>${junit.version}version>
            <scope>testscope>
        dependency>
    dependencies>
project>

(二)常用工具模块“common”


<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.0modelVersion>

    <groupId>org.pcgroupId>
    <artifactId>commonartifactId>
    <version>1.0-SNAPSHOTversion>

    <packaging>jarpackaging>

    <properties>
        <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8project.reporting.outputEncoding>
        <java.version>1.8java.version>
        <commons.cli.version>1.4commons.cli.version>
        <commons.codec.version>1.11commons.codec.version>
        <commons.fileupload.version>1.3.3commons.fileupload.version>
        <commons.io.version>2.6commons.io.version>
        <commons.lang3.version>3.7commons.lang3.version>
        <commons.collections4.version>4.1commons.collections4.version>
        <jackson.version>2.8.7jackson.version>
        <logback.ext.spring.version>0.1.4logback.ext.spring.version>
        <logback.classic.version>1.1.7logback.classic.version>
        <jcl.over.slf4j.version>1.7.25jcl.over.slf4j.version>
    properties>

    <dependencies>
        
        <dependency>
            <groupId>commons-cligroupId>
            <artifactId>commons-cliartifactId>
            <version>${commons.cli.version}version>
        dependency>
        
        <dependency>
            <groupId>commons-codecgroupId>
            <artifactId>commons-codecartifactId>
            <version>${commons.codec.version}version>
        dependency>
        
        <dependency>
            <groupId>commons-fileuploadgroupId>
            <artifactId>commons-fileuploadartifactId>
            <version>${commons.fileupload.version}version>
        dependency>
        
        <dependency>
            <groupId>commons-iogroupId>
            <artifactId>commons-ioartifactId>
            <version>${commons.io.version}version>
        dependency>
        
        <dependency>
            <groupId>org.apache.commonsgroupId>
            <artifactId>commons-lang3artifactId>
            <version>${commons.lang3.version}version>
        dependency>
        
        <dependency>
            <groupId>org.apache.commonsgroupId>
            <artifactId>commons-collections4artifactId>
            <version>${commons.collections4.version}version>
        dependency>

        
        <dependency>
            <groupId>com.fasterxml.jackson.coregroupId>
            <artifactId>jackson-coreartifactId>
            <version>${jackson.version}version>
        dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.coregroupId>
            <artifactId>jackson-annotationsartifactId>
            <version>${jackson.version}version>
        dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.coregroupId>
            <artifactId>jackson-databindartifactId>
            <version>${jackson.version}version>
        dependency>
        

        
        
        <dependency>
            <groupId>ch.qos.logbackgroupId>
            <artifactId>logback-classicartifactId>
            <version>${logback.classic.version}version>
        dependency>
        
        <dependency>
            <groupId>org.logback-extensionsgroupId>
            <artifactId>logback-ext-springartifactId>
            <version>${logback.ext.spring.version}version>
        dependency>
        
        <dependency>
            <groupId>org.slf4jgroupId>
            <artifactId>jcl-over-slf4jartifactId>
            <version>${jcl.over.slf4j.version}version>
        dependency>

        
    dependencies>

project>

你可能感兴趣的:(web项目开发进阶)