宜立方商城 搭建Maven第一天心得
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第一天心得相关推荐
- 淘淘商城宜立方商城第二天,关于查询商品,浏览器页面无法显示
淘淘商城宜立方商城第二天,关于查询商品,浏览器页面无法显示 新手初学分布式集群和maven搭建容易遇到各种各样的错误,第一天项目就遇到个tomcat不报错但是启动不起来,停在log4j让我头疼了两天之 ...
- 宜立方商城第二天心得
1.将工程改造为SOA架构 1.1分析 聚合工程必须有个war包 需要拆工程 一个服务层和表现层 所有数据都是通过调用服务层获得的 需要把web层单独提取出来 提成一个独立的工程 也可以变成一 ...
- 宜立方商城—— 购物车增加、删除、修改数量、删除选中商品和清空购物车的实现
1. 购物车的实现 1.1. 功能分析 1.购物车是一个独立的表现层工程. 2.添加购物车不要求登录.可以指定购买商品的数量. 3.展示购物车列表页面 4.修改购物车商品数量 5.删除购物车商品 模 ...
- 宜立方商城——搜索功能的实现
搜索功能的实现 效果图 模块划分 需要的我们自己写dao层mapper层 dao层存在我们搜索的结果 /*** 商品搜索dao*/ @Repository public class SearchDao ...
- 学习淘淘商城第二课(搭建Maven工程)
上节课我们一起学习了淘淘商城的架构,这节课我们一起学习如何搭建Maven工程,关于Maven的好处,网上有很多,这里就不啰嗦了. Maven常见的打包方式有:jar.war.pom pom工程一般都是 ...
- 商城项目笔记一:搭建Maven工程,利用Dubbo实现SOA面向服务框架,部署zookeeper注册中心,FastDFS框架实现图片上传,部署nginx服务器。
文章目录 1. 商城项目总结笔记: 1.1. 第一天工作记录:搭建Maven工程 1.2. 第二天工作记录:创建SOA面向服务架构,通过工具类实现分页技术 1.3. 第三天工作记录:部署nginx服务 ...
- linux设置nexus开机自启动_在linux中使用nexus搭建maven私服
首先介绍下为什么要搭建maven私服,简单点说就是就是把项目工程中的Jar包放在一个服务器上,每次Jar包的修改都能去私服上面Down到本地.可以对整个项目组的人形成一个统一的管理. 2.下载完之后就 ...
- 在eclipse中搭建maven工程(第二种方法)
第一种方法见前面的博客 用Maven创建web项目(详细步骤) maven-3.3.9 下载之后就是配置环境变量,可以去百度一哈,用MAVEN_HOME配置,我图方便,直接在用户的path配置的. 接 ...
- 使用nexus3搭建maven私服(超详细,建议收藏)
目录 1.搭建Maven私服背景 2.安装Nexus,并初次启动Nexus 3.将nexus配置为系统服务 4.配置nexus和熟悉它 第一步,跟随着说明文档,看看下载nexus下来之后,有两个目录 ...
最新文章
- win8无线网服务器,Win8连接wifi受限
- 浏览器html5/css3兼容性检测的javascript类库 - Modernizr简单介绍
- 杂记整理二:linux与程序安装
- How to write an operating system
- 区别于传统低效标注,两种基于自然语言解释的数据增强方法
- 12.18栈、队列练习题
- 爬虫-post请求练习-百度翻译爬虫-智能的关联搜索不完整词的猜词搜索
- python2.7读取excel_对Python2.7pandas中的read_excel详解
- BZOJ4012[HNOI2015]开店——树链剖分+可持久化线段树/动态点分治+vector
- HDU4578 Transformation(多标记线段树)题解
- Android篮球计分器App
- Android ViewPager实现3D画廊效果
- java语言算阴影梯形面积_例1.2 在梯形中阴影部分面积是150平方厘米,求梯形面积。(《信息学奥赛一本通》)...
- 2015第19周五《象与骑象人》《瞬变》读书笔记
- 云服务显示服务器异常,云服务器显示异常登录
- 首选电商淘宝商品详情API接口(数据获取)
- 经典梯度下降、随机梯度下降、批量梯度下降是个啥?
- 解决服务器报错java.nio.file.AccessDeniedException: /opt/jeecg-boot/upload
- Wordnet的一些简单使用
- 手工折纸作品展示:送别的花束