模块化建立项目流程(Maven聚合模块)
来源:互联网 发布:淘宝假币 编辑:程序博客网 时间:2024/05/21 07:12
先说项目使用Maven的好处
1、项目构建。Maven定义了软件开发的整套流程体系,并进行了封装,开发人员只需要指定项目的构建流程,无需针对每个流程编写自己的构建脚本。
2、依赖管理。除了项目构建,Maven最核心的功能是软件包的依赖管理,能够自动分析项目所需要的依赖软件包,并到Maven中心仓库去下载。
A)管理依赖的jar包
B)管理工程之间的依赖关系。
传统工程结构
Maven管理的工程结构:
不使用maven:工程部署时需要手动复制jar包。完成工程构建。非常繁琐。
使用maven进行工程构建:
使用maven可以实现一步构建。
1.创建springmvc-parent
1.1创建maven工程
1.1.2修改pom文件
<!-- 集中定义依赖版本号 --><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>
1.1.3 将spring-parent安装到本地仓库
2.创建spring-common
注意:我们这里创建common项目的用途是用来放其他工程需要用到的通用组件、工具类、以及单元测试等等,可以让整个结构体系看起来更加清晰,明确
2.1.1 创建工程(由于我之前建过这个项目所以我这里只是演示下)
2.1.2修改pom文件
<!-- jar包的依赖 --><dependencies><!-- 时间操作组件 --><dependency><groupId>joda-time</groupId><artifactId>joda-time</artifactId></dependency><!-- Apache工具组件 --><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-io</artifactId></dependency><dependency><groupId>commons-net</groupId><artifactId>commons-net</artifactId></dependency><!-- Jackson Json处理工具包 --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId></dependency><!-- httpclient --><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId></dependency><!-- 单元测试 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><scope>test</scope></dependency><!-- 日志处理 --><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId></dependency></dependencies>
2.1.3 更新工程
右键项目->Maven->Update Project Configuration
3.创建spring-manager
注意这是个pom工程
5.1修改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><parent><groupId>com.yanl</groupId><artifactId>springmvc-parent</artifactId><version>0.0.1-SNAPSHOT</version></parent><groupId>com.yanl</groupId><artifactId>spring-manager</artifactId><version>0.0.1-SNAPSHOT</version><packaging>pom</packaging><description>聚合工程,包含4个模块三个jar模块entity,mapper,service以及war模块controller</description><!-- 依赖管理 --><dependencies><dependency><groupId>com.yanl</groupId><artifactId>spring-common</artifactId><version>0.0.1-SNAPSHOT</version></dependency></dependencies><modules><module>spring-manager-entity</module><module>spring-manager-mapper</module><module>spring-manager-service</module><module>spring-manager-web</module></modules><build><plugins><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><configuration><port>8080</port><path>/</path></configuration></plugin></plugins></build></project>
4.创建spring-manager-entity
注意:这是一个在manager里面的模块所以右键spring-manager项目选择新建项目的Maven Module
5.创建spring-manager-mapper
5.1修改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><parent><groupId>com.yanl</groupId><artifactId>spring-manager</artifactId><version>0.0.1-SNAPSHOT</version></parent><artifactId>spring-manager-mapper</artifactId><!-- 依赖管理 --><dependencies><dependency><groupId>com.yanl</groupId><artifactId>spring-manager-entity</artifactId><version>0.0.1-SNAPSHOT</version></dependency><!-- Mybatis --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId></dependency><dependency><groupId>com.github.miemiedev</groupId><artifactId>mybatis-paginator</artifactId></dependency><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId></dependency><!-- MySql --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><!-- 连接池 --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId></dependency></dependencies></project>
6.创建spring-manager-service
6.1修改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><parent><groupId>com.yanl</groupId><artifactId>spring-manager</artifactId><version>0.0.1-SNAPSHOT</version></parent><artifactId>spring-manager-service</artifactId><description>service模块</description><!-- 依赖管理 --><dependencies><dependency><groupId>com.yanl</groupId><artifactId>spring-manager-mapper</artifactId><version>0.0.1-SNAPSHOT</version></dependency><!-- Spring --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId></dependency></dependencies></project>
7.创建spring-manager-web(这个就是我们的前端控制器controller)
7.1修改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><parent><groupId>com.yanl</groupId><artifactId>spring-manager</artifactId><version>0.0.1-SNAPSHOT</version></parent><artifactId>spring-manager-web</artifactId><packaging>war</packaging><!-- 依赖管理 --><dependencies><dependency><groupId>com.yanl</groupId><artifactId>spring-manager-service</artifactId><version>0.0.1-SNAPSHOT</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></dependencies></project>
至此我们的工程建立完成,我们需要测试这个工程能不能用还需要配置如下
8.配置tomcat插件
运行web工程需要添加一个tomcat插件。插件必须添加到spring-manager工程中。因为spring-manager是聚合工程。在运行时需要把子工程聚合到一起才能运行。
上面在创建spring-manager时我已经配置了,这里在配下,提醒。
<build><plugins><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><configuration><port>8080</port><path>/</path></configuration></plugin></plugins></build>
9.运行聚合工程
看到如下,说明运行成功
然后打开http://localhost:8080/你会看到
大功告成,说明我们的聚合工程没有问题,这里有几点需要解释下
10.1.关于mybatis分页插件pagehelper的问题
有关分页插件请看我之前写过的一篇pagehelper文章。
10.2 Java编译插件
10.3 Build时控制台报错,一般是提示parent,common没有安装,你右键这两个项目安装下在运行spring-manager就可以了。
10.4 需要用到的仓库我上传到我的资源里面了(由于文件太大,我传百度网盘了,传送门 http://pan.baidu.com/s/1cmrIgu),如果maven下载不了直接将这个仓库覆盖你自己的本地仓库,一般本地仓库在C盘用户.m2文件夹下,祝你成功。
10.5 工程项目在我资源页http://download.csdn.net/detail/lemontreey/9738477,我没有clean所以比较大。
0 0
- 模块化建立项目流程(Maven聚合模块)
- 模块化建立项目流程(Maven聚合模块)
- 模块化建立项目流程(Maven聚合模块)
- idea建立maven聚合项目
- 建立maven模块化项目遇到的问题总结
- Maven系列五:多模块项目中的聚合和继承
- maven分模块,聚合 在实际项目里面的应用
- 关于maven多模块聚合项目部署等问题--<Jenkins>
- MAVEN项目模块化
- Maven构建聚合项目
- idea中建立maven工程,建立maven模块,导入maven项目
- Maven模块聚合与继承
- maven(11)-聚合多模块
- MAVEN搭建多模块化项目
- Eclipse搭建maven模块化项目
- 使用 maven 构建模块化项目
- maven—大型项目模块化
- IntelliJ IDEA中创建Web聚合项目(Maven多模块项目)
- 简单直接的方法解析JSON数据
- 多态的使用----自行编写维护list以保存对象
- 关键字register的用法及注意事项
- 大学程序学习之旅
- sublime安装完毕之后的常用配置
- 模块化建立项目流程(Maven聚合模块)
- Spark MLlib算法
- 列表和表格---学习笔记02
- 类的赋值
- jsp中的搜索条件回显
- Java中方法多态以及多接口实现
- PHP 数据库mysql(一)
- vim查找或删除部分重复的行
- 优化MySchool SQL编程 第三章