1.0. 使用maven的好处

1.使用maven管理工程。

2.Jar包的管理

3.工程之间的依赖管理

4.自动打包

1.1. 后台工程搭建分析

Maven的常见打包方式:jar、war、pom

Pom工程一般都是父工程,管理jar包的版本、maven插件的版本、统一的依赖管理。聚合工程。

e3-parent:父工程,打包方式pom,管理jar包的版本号。

|           项目中所有工程都应该继承父工程。

|--e3-common:通用的工具类通用的pojo。打包方式jar

|--e3-manager:服务层工程。聚合工程。Pom工程

|--e3-manager-dao:打包方式jar

|--e3-manager-pojo:打包方式jar

|--e3-manager-interface:打包方式jar

|--e3-manager-service:打包方式:jar

|--e3-manager-web:表现层工程。打包方式war

1.2. 工程搭建

1.2.1. e3-parent

Pom工程。

开发环境:eclipse mars2

Maven:3.3.9

本地仓库:默认位置在~/.m2/repository

Eclipse不需要配置,只需要把本地仓库放到当前用户目录下的.m2下。

如果不是啊的话需要手动配置路径本地仓库位置 需要settings.xml

更新本地仓库路径

这是我的本地路径

D:\E3商城\工具\MavenRepository\MavenRepository\.m2\.m2\repository

项目搭建

pom.xml

<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>cn.e3mall</groupId><artifactId>e3-parent</artifactId><version>0.0.1-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><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><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> <!--jar 锁定版本 只管理版本号如果用到这个jar包就是我定义我的版本号 --><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><!-- quartz任务调度框架 --><dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz</artifactId><version>${quartz.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><dependency><groupId>org.springframework</groupId><artifactId>spring-jms</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</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><!-- dubbo相关 --><dependency><groupId>com.alibaba</groupId><artifactId>dubbo</artifactId><version>${dubbo.version}</version></dependency><dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>${zookeeper.version}</version></dependency><dependency><groupId>com.github.sgroschupf</groupId><artifactId>zkclient</artifactId><version>${zkclient.version}</version></dependency><dependency><groupId>org.apache.activemq</groupId><artifactId>activemq-all</artifactId><version>${activemq.version}</version></dependency><dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId><version>${freemarker.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>

1.1.1. e3-common

通用的工具类、通用的pojo。打包方式jar。需要继承父工程。

pom.xml

<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>cn.e3mall</groupId><artifactId>e3-parent</artifactId><version>0.0.1-SNAPSHOT</version></parent><groupId>cn.e3mall</groupId><artifactId>e3-manager</artifactId><version>0.0.1-SNAPSHOT</version><packaging>pom</packaging><dependencies><dependency><groupId>cn.e3mall</groupId><artifactId>e3-common</artifactId><version>0.0.1-SNAPSHOT</version></dependency></dependencies>
</project>

完整pom.xml

<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>cn.e3mall</groupId><artifactId>e3-parent</artifactId><version>0.0.1-SNAPSHOT</version></parent><groupId>cn.e3mall</groupId><artifactId>e3-common</artifactId><version>0.0.1-SNAPSHOT</version><!-- 依赖的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><!-- quartz任务调度框架 --><dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz</artifactId></dependency><!-- 单元测试 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><scope>test</scope></dependency><!-- 日志处理 --><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId></dependency></dependencies>
</project>

1.1.1. e3-manager-pojo

是一个maven模块,打包方式jar。

pom.xml

<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>cn.e3mall</groupId><artifactId>e3-parent</artifactId><version>0.0.1-SNAPSHOT</version></parent><groupId>cn.e3mall</groupId><artifactId>e3-manager</artifactId><version>0.0.1-SNAPSHOT</version><packaging>pom</packaging><dependencies><dependency><groupId>cn.e3mall</groupId><artifactId>e3-common</artifactId><version>0.0.1-SNAPSHOT</version></dependency></dependencies><modules><module>e3-manager-pojo</module><module>e3-manager-dao</module><module>e3-manager-interface</module><module>e3-manager-service</module><module>e3-manager-web</module></modules><!-- 配置tomcat插件 --><build><plugins><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><configuration><path>/</path><port>8080</port></configuration></plugin></plugins></build>
</project>

聚合工程

.....以此类推 建立

e3-parent:父工程,打包方式pom,管理jar包的版本号。

|           项目中所有工程都应该继承父工程。

|--e3-common:通用的工具类通用的pojo。打包方式jar

|--e3-manager:服务层工程。聚合工程。Pom工程

|--e3-manager-dao:打包方式jar

|--e3-manager-pojo:打包方式jar

|--e3-manager-interface:打包方式jar

|--e3-manager-service:打包方式:jar

|--e3-manager-web:表现层工程。打包方式war

最后启动项目时 需要配置Tomcat

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"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"id="WebApp_ID" version="2.5"><display-name>e3-manager-web</display-name><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list></web-app>

1.1. 启动工程

启动e3-manager工程。

需要在e3-manager 的pom工程中,配置tomcat插件。启动的端口号,和工程名称。

在e3-manager的pom文件中添加如下配置:

<!-- 配置tomcat插件 --><build><plugins><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><configuration><port>8080</port><path>/</path></configuration></plugin></plugins></build>

启动tomcat插件:

clean tomcat7:run

先把e3-parent、e3-common安装到本地仓库。然后再启动。

启动成功!

宜立方商城 搭建Maven第一天心得相关推荐

  1. 淘淘商城宜立方商城第二天,关于查询商品,浏览器页面无法显示

    淘淘商城宜立方商城第二天,关于查询商品,浏览器页面无法显示 新手初学分布式集群和maven搭建容易遇到各种各样的错误,第一天项目就遇到个tomcat不报错但是启动不起来,停在log4j让我头疼了两天之 ...

  2. 宜立方商城第二天心得

    1.将工程改造为SOA架构 1.1分析 聚合工程必须有个war包 需要拆工程 一个服务层和表现层     所有数据都是通过调用服务层获得的 需要把web层单独提取出来 提成一个独立的工程 也可以变成一 ...

  3. 宜立方商城—— 购物车增加、删除、修改数量、删除选中商品和清空购物车的实现

    1.  购物车的实现 1.1. 功能分析 1.购物车是一个独立的表现层工程. 2.添加购物车不要求登录.可以指定购买商品的数量. 3.展示购物车列表页面 4.修改购物车商品数量 5.删除购物车商品 模 ...

  4. 宜立方商城——搜索功能的实现

    搜索功能的实现 效果图 模块划分 需要的我们自己写dao层mapper层 dao层存在我们搜索的结果 /*** 商品搜索dao*/ @Repository public class SearchDao ...

  5. 学习淘淘商城第二课(搭建Maven工程)

    上节课我们一起学习了淘淘商城的架构,这节课我们一起学习如何搭建Maven工程,关于Maven的好处,网上有很多,这里就不啰嗦了. Maven常见的打包方式有:jar.war.pom pom工程一般都是 ...

  6. 商城项目笔记一:搭建Maven工程,利用Dubbo实现SOA面向服务框架,部署zookeeper注册中心,FastDFS框架实现图片上传,部署nginx服务器。

    文章目录 1. 商城项目总结笔记: 1.1. 第一天工作记录:搭建Maven工程 1.2. 第二天工作记录:创建SOA面向服务架构,通过工具类实现分页技术 1.3. 第三天工作记录:部署nginx服务 ...

  7. linux设置nexus开机自启动_在linux中使用nexus搭建maven私服

    首先介绍下为什么要搭建maven私服,简单点说就是就是把项目工程中的Jar包放在一个服务器上,每次Jar包的修改都能去私服上面Down到本地.可以对整个项目组的人形成一个统一的管理. 2.下载完之后就 ...

  8. 在eclipse中搭建maven工程(第二种方法)

    第一种方法见前面的博客 用Maven创建web项目(详细步骤) maven-3.3.9 下载之后就是配置环境变量,可以去百度一哈,用MAVEN_HOME配置,我图方便,直接在用户的path配置的. 接 ...

  9. 使用nexus3搭建maven私服(超详细,建议收藏)

    目录 1.搭建Maven私服背景 2.安装Nexus,并初次启动Nexus 3.将nexus配置为系统服务 4.配置nexus和熟悉它 第一步,跟随着说明文档,看看下载nexus下来之后,有两个目录 ...

最新文章

  1. win8无线网服务器,Win8连接wifi受限
  2. 浏览器html5/css3兼容性检测的javascript类库 - Modernizr简单介绍
  3. 杂记整理二:linux与程序安装
  4. How to write an operating system
  5. 区别于传统低效标注,两种基于自然语言解释的数据增强方法
  6. 12.18栈、队列练习题
  7. 爬虫-post请求练习-百度翻译爬虫-智能的关联搜索不完整词的猜词搜索
  8. python2.7读取excel_对Python2.7pandas中的read_excel详解
  9. BZOJ4012[HNOI2015]开店——树链剖分+可持久化线段树/动态点分治+vector
  10. HDU4578 Transformation(多标记线段树)题解
  11. Android篮球计分器App
  12. Android ViewPager实现3D画廊效果
  13. java语言算阴影梯形面积_例1.2 在梯形中阴影部分面积是150平方厘米,求梯形面积。(《信息学奥赛一本通》)...
  14. 2015第19周五《象与骑象人》《瞬变》读书笔记
  15. 云服务显示服务器异常,云服务器显示异常登录
  16. 首选电商淘宝商品详情API接口(数据获取)
  17. 经典梯度下降、随机梯度下降、批量梯度下降是个啥?
  18. 解决服务器报错java.nio.file.AccessDeniedException: /opt/jeecg-boot/upload
  19. Wordnet的一些简单使用
  20. 手工折纸作品展示:送别的花束

热门文章

  1. AMiner论文推荐:
  2. 蒙特卡洛算法求矩形内切圆面积
  3. Playing games
  4. 2020年2月15日 考试
  5. Manjaro安装配置指南
  6. 计算最高分,最低分,平均分
  7. 大白话讲解决策树【案例】:如何区分西方人和东方人
  8. 开箱即用的后台UI框架eui(原eadmin)
  9. STM32F103与电脑端通信(使用NRF24L01)
  10. Daily Growing 的歌词