使⽤IDEA创建Maven聚合⼯程、项⽬分⼦项⽬模块,最后⼀体化运⾏
⽂章结构
1.maven技术介绍
maven打包本地jar包2.聚合⼯程搭建
3.SSM框架整合
4.测试运⾏聚合⼯程
1,maven技术介绍
Maven是⼀个跨平台的项⽬管理⼯具,它包含了⼀个项⽬对象模型 (Project Object Model),⼀组标准集合,⼀个项⽬⽣命周期(Project Lifecycle),⼀个依赖管理系统(Dependency Management System),和⽤来运⾏定义在⽣命周期阶段(phase)中插件(plugin)⽬标(goal)的逻辑。主要服务于基于Java平台的项⽬构建,依赖管理和项⽬信息管理。
1.1、项⽬的构建:
项⽬构建过程包括【清理项⽬】→【编译项⽬】→【测试项⽬】→【⽣成测试报告】→【打包项⽬】→【部署项⽬】这⼏个步骤。
1.2、使⽤Maven的好处
Maven中使⽤约定,约定java源代码代码必须放在哪个⽬录下,编译好的java代码⼜必须放到哪个⽬录下,这些⽬录都有明确的约定。Maven的每⼀个动作都拥有⼀个⽣命周期,例如执⾏ mvn install 就可以⾃动执⾏编译,测试,打包等构建过程只需要定义⼀个l,然后把源码放到默认的⽬录,Maven帮我们处理其他事情使⽤Maven可以进⾏项⽬⾼度⾃动化构建,依赖管理(这是使⽤Maven最⼤的好处),仓库管理。针对maven介绍到这⾥。
2.聚合⼯程搭建
下⾯我以⼀个演⽰demoMall项⽬为例搭建聚合⼯程!
分析:
Maven的常见打包⽅式:jar、war、pom
Pom⼯程⼀般都是⽗⼯程,管理jar包的版本、maven插件的版本、统⼀的依赖管理。聚合⼯程。
demo-parent:⽗⼯程,打包⽅式pom,管理jar包的版本号。
|          项⽬中所有⼯程都应该继承⽗⼯程。
|--demo-common:通⽤的⼯具类通⽤的pojo。打包⽅式jar
|--demo-manager:服务层⼯程。聚合⼯程。Pom⼯程
|--demo-manager-dao:打包⽅式jar
|--demo-manager-pojo:打包⽅式jar
|--demo-manager-interface:打包⽅式jar
|--demo-manager-service:打包⽅式:jar
|--demo-manager-web:表现层⼯程。打包⽅式war
⾸先我们先创建⼀个空的项⽬,请看下⾯图中操作:
 然后我们可以看到⼀个空的项⽬已经创建成功了。在空项⽬中 File→Module新建⼀个patent项⽬,请看下图。
下⾯指定⾃⼰的maven本地仓库。
下⾯我们对 demo-parent项⽬中pom⽂件进⾏修改。
demo-parent  l
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="/POM/4.0.0" xmlns:xsi="/2001/XMLSchema-instance"        xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd">    <modelVersion>4.0.0</modelVersion>
<groupId>com.demo.mall</groupId>
<artifactId>demo-parent</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<!-- 集中定义依赖版本号 -->
<properties>
<junit.version>4.12</junit.version>
<spring.version>4.2.4.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>
<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>5.1.4</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>
<dubbo.version>2.5.3</dubbo.version>
<zookeeper.version>3.4.7</zookeeper.version>
<zkclient.version>0.1</zkclient.version>
<activemq.version>5.11.2</activemq.version>
<freemarker.version>2.3.23</freemarker.version>
<quartz.version>2.2.2</quartz.version>
</properties>
<dependencyManagement>
<dependencies>
<!-- 时间操作组件 -->
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>${joda-time.version}</version>
</dependency>
<!-- Apache⼯具组件 -->
<dependency>
<groupId>org.apachemons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${commons-lang3.version}</version>
</dependency>
<dependency>
<groupId>org.apachemons</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.</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>
<!-- quartz任务调度框架 -->
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>${quartz.version}</version>
</dependency>
<!-- 单元测试 -->
<dependency>
<groupId>junit</groupId>
<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&batis</groupId>
<artifactId>mybatis</artifactId>
<version>${mybatis.version}</version>
</dependency>
<dependency>
<groupId&batis</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>

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。