用Maven开发一个项目或者项目中的一个模块

1、首先确定开发工具以及环境
例如:
    Eclipse4.4.1——luna
        -解压直接使用
    Maven3.2.3
        -解压并安装
    Tomcat7(在maven中安装)
        -在pom.xml中配置
<plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <configuration>
                    <port>8081</port>
                    <path>/</path>
                </configuration>
            </plugin>

Mysql5.6
Nginx1.5.1
Redis2.8.9
Win7操作系统
SVN版本管理

2、购买一个域名
例:www.baidu.com

3、创建一个Maven项目
本次开发使用分布式系统架构多个服务器集群对数据库进行才做,用单点登录来维持登录状态。
所以在创建项目时考虑到本项目很可能会被其他模块调用,所以会把传统项目中的层级结构用maven项目的形式创建出来以方便打包,在其他项目中使用该项目的时候只需要导入依赖就可以使用。
本Maven项目分为
——父工程 XXX-parent(打包方式:pom)
其中集中定义依赖版本以及项目中用到的依赖
——通用工程 XXX-common(打包方式:jar)
定义项目中用到的通用部分
——管理工程 XXX-manage(打包方式:pom)
工程主体,聚合其他自工程
—以管理工程为父工程创建开发项目需要的子工程
XXX-manage-pojo-实体工程
XXX-manage-mapper-Mapper代理工程
XXX-manage-service-业务工程
XXX-manage-web-控制层工程(controller/action)–
-
各个工程之间存在依赖关系
web—>service—>mapper—>pojo
-
导入依赖的原则:
1、所有的工程都需要的依赖应该在聚合工程(taotao-manage)中导入。
2、在使用依赖的最底层导入。
3、运行时所需要的依赖在web工程中加入。

以ssm(spring+springMVC+Mybatis)为例

***在manage中需要导入***
<!-- 单元测试 -->  
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
                <scope>test</scope>
            </dependency>
<!-- Apache工具组件 -->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-io</artifactId>
        </dependency>
***在通用Mapper中需要导入***
<!-- 通用mapper -->
        <dependency>
            <groupId>com.github.abel533</groupId>
            <artifactId>mapper</artifactId>
            <!-- 排除JPA依赖,有taotao-manage-pojo传递JPA依赖 -->
            <exclusions>
                <exclusion>
                    <artifactId>persistence-api</artifactId>
                    <groupId>javax.persistence</groupId>
                </exclusion>
            </exclusions>
        </dependency>
***在pojo中需要导入***
<!-- 用JPA注解使实体类与表关联 -->
<dependency>
            <groupId>javax.persistence</groupId>
            <artifactId>persistence-api</artifactId>
            <version>1.0</version>
        </dependency>
***在service中需要导入***
        <!-- 分页工具 -->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper</artifactId>
        </dependency>
        <dependency>
            <groupId>com.github.jsqlparser</groupId>
            <artifactId>jsqlparser</artifactId>
        </dependency>
***在web中需要导入***
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aspects</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
        </dependency>
        <!-- MySql -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <!-- Jackson Json处理工具包 -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
        </dependency>
        <!-- 连接池 -->
        <dependency>
            <groupId>com.jolbox</groupId>
            <artifactId>bonecp-spring</artifactId>
        </dependency>
        <!-- JSP相关 -->
            <dependency>
                <groupId>jstl</groupId>
                <artifactId>jstl</artifactId>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>jsp-api</artifactId>
                <scope>provided</scope>
            </dependency>

以上这样按需求配置所用的依赖是最合理的方法,不推荐使用继承父工程中的所有依赖

–最后根据框架创建web.xml