环境搭建之maven分布式系统
shoppingmall项目:
一.父工程 shoppingmall-parent (packaging为pom) 此是本项目的顶级工程,所有子工程都应该继承他,主要可承担以下任务:
a.集中定义依赖版本号 如<properties><<junit.version>4.12</junit.version><spring.version>4.1.3.RELEASE</spring.version>/properties>
b.声明各种jar包 此处定义在dependencyManagement中只是声明,还不会去下载jar包到本地仓库中,由子工程按需去配置自己依赖(子工程不需要version了)
如<dependencyManagement><dependency><groupId>joda-time</groupId><artifactId>joda-time</artifactId><version>${joda-time.version}</version></dependency></dependencyManagement>
c.集中定义插件
<build><pluginManagement><plugins><plugin></plugin></plugins></pluginManagement></build>
二.通用工程组件 shoppingmall-common (packaging为jar) 此是本项目的一些公共资源 工具类, 使用时会打成jar包 install进仓库 供别的子工程所依赖,继承parent
a.引入自己的依赖 由于继承parent依赖的版本号已经不需要version了
如<dependencies><dependencie><groupId>joda-time</groupId><artifactId>joda-time</artifactId></dependencie></dependencies>
三.后台管理工程 shoppingmall-manager (packaging为pom) 此是本项目后台管理工程 是一个聚合工程,他应该包含若干自工程便于后台的统一管理如shoppingmall-pojo shoppingmall-mapper shoppingmall-service shoppingmall-web等,依赖common 继承parent
1.shoppingmall-pojo(packaging为jar) :一般继承manager即可 没什么自己的依赖
2.shoppingmall-mapper(packaging为jar) :依赖于pojo 有自己的依赖如MySQL druid连接池 和 一些持久层框架
3.shoppingmall-service(packaging为jar) :依赖于mapper 也有自己的依赖如spring
4.shoppingmall-web(packaging为war) :依赖于service 也有自己的依赖如jsp servlet等 此工程是后台管理的入口 有web.xml和index.jsp
综上:
继承以下工程:
<parent>
<groupId>com.ly</groupId>
<artifactId>shoppingmall-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
依赖以下工程:
<dependencies>
<dependency>
<groupId>com.ly</groupId>
<artifactId>shoppingmall-common</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
聚合以下工程:
<modules>
<module>shoppingmall-manager-pojo</module>
<module>shoppingmall-manager-mapper</module>
<module>shoppingmall-manager-service</module>
<module>shoppingmall-manager-web</module>
</modules>
还需要配置如下maven的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>
<<<右击manager---Run As--Maven Build...配置Goals----clean tomcat7:run(当然运行之前该把parent和common这些maven install进仓库)>>>>
四.把以上项目提交到SVN
1.在VisualSVN Server--Repositories右击新建ShoppingMall库(一般包含branches tags trunk三个文件夹) 在Users上右击新建用户
2.在1建立的ShoppingMall右击可以复制该库的url,分别对着parent common manager右击--Team---Share Project---SVN---创建新库位置粘贴复制的url---选择第二个
使用指定的模块名---点击右边浏览输入账号密码后再选择trunk让他们放在trunk文件夹下(不需要提交pojo mapper service 等 已经在聚合工程manager中了)
3.执行完2之后只是会在SVN服务器trunk文件夹下创建三个以项目名为名的文件夹 真正项目内容还没有提交,可在Team Synchronizing操作,需注意如下:
项目中的.settings .classpath .project和target这些文件和目录都可以右击--添加至 svn:ingore(D) 忽略他们与SVN同步,
有时比如在.setting上 右击 添加至svn:ingore(D)是灰色的,有可能是这个项目在SVN还不存在(如那些被聚合的工程 SVN上只有manager文件夹)
此时你可以先提交被聚合工程的src pom.xml这些到SVN 接下来就可以svn:ingore了
4.执行完3之后 全部工程前都有红色双向箭头(本地和SVN时间上操作不一致认为有冲突) 此时选中他们右击--更新---全部变成灰色向右箭头(此时任务本地的要比SVN新)
同意选中他们--提交。。
五.执行完四之后,那些被聚合的工程pojo mapper等还不受SVN直接管控,此时可以把你workspace的工程全部删除后再从SVN检出
1.右击import---SVN--从SVN检出项目--选择位置---选中trunk目录下的三个文件夹--这3个文件夹做为工作空间的多个项目检出
2.此时还是只有三个工程,你可以右击--import--Maven--Existing Maven Projects--Browse--选到工作空间中manager项目目录 系统会自动找到那些带pom的工程--Finish
3.从SVN直接检出的三个还只是普通工程 选中他们 右击 Configure -- Convert to Maven Project.
4.全部变成maven工程了,End。。。。。。。。。。。。。
环境搭建之maven分布式系统的更多相关文章
- Centos 基础开发环境搭建之Maven私服nexus
hmaster 安装nexus及启动方式 /usr/local/nexus-2.6.3-01/bin ./nexus status Centos 基础开发环境搭建之Maven私服nexus . 软件 ...
- Spring MVC 环境搭建(maven+SpringMVC+mybatis+Freemarker)
Spring MVC 环境搭建(maven+SpringMVC+mybatis+Freemarker) 一.准备工作 1.Eclipse Java EE IDE(4.4.1) 2.JDK 3.Tomc ...
- JavaEE开发基于Eclipse的环境搭建以及Maven Web App的创建
本篇博客就完整的来聊一下如何在Eclipse中创建的Maven Project.本篇博客是JavaEE开发的开篇,也是基础.本篇博客的内容干货还是比较多的,而且比较实用,并且都是采用目前最新版本的工具 ...
- JavaEE开发之基于Eclipse的环境搭建以及Maven Web App的创建
本篇博客就完整的来聊一下如何在Eclipse中创建的Maven Project.本篇博客是JavaEE开发的开篇,也是基础.本篇博客的内容干货还是比较多的,而且比较实用,并且都是采用目前最新版本的工具 ...
- JEECG环境搭建(Maven版本)-总结Eclipse
1.安装sql server 数据库: 解决办法: 控制面板→程序和功能→启用或关闭Windows功能 .Net Framework 3.5这一项未被完全选中(应为对勾,如果是方块也不可以) 选中该项 ...
- java selenium (三) 环境搭建 基于Maven
现在Java的大部分项目都是基于Maven, 在Maven项目中使用Selenium2. 非常简单. 首先你需要配置好Maven的环境 可以参考本博客的Maven教程系列,Maven入门教程(一) ...
- 自己记录java环境搭建之-maven
简述: 现需要在Eclipse中配置Maven插件,同时安装maven应用,配置Maven环境变量,建立Maven管理的工程,并用Maven导入Gson包, 编写简易Json输出程序 步骤: 1. 首 ...
- Flink开发环境搭建(maven)
1.下载scala sdk http://www.scala-lang.org/download/ 直接到这里下载sdk,(https://downloads.lightbend.com/scala/ ...
- 项目管理利器maven学习笔记(一):maven介绍及环境搭建
maven介绍 maven下载与环境搭建 http://maven.apache.org/download.cgi# 解压到指定位置,比如我解压到D盘 设置maven环境变量 添加一个变量名,变量值为 ...
随机推荐
- 解读oracle执行计划-待续
Cost(%CPU): 优化器估算出完成当前操作的代价(包含子操作的代价),它是IO代价和CPU 代价总和.其中IO代价是最基本的代价.而对于CPU代价,在默认情况下,优化器会将CPU代价计算在内,而 ...
- 浅析CSS中的haslayout
作为一名web开发人员,最大的希望不是自己的水平有多高,而是希望浏览器厂家能够统一标准,相信任何一个只要是接触过web程序开发的人员都有那样的感受,就是浏览器之间的兼容性问题总是让我们的工作平添诸多的 ...
- nginx插件ngx_lua
ngx_lua是淘宝的维护的产品,真心不错.配置文件包含可以做很多事情的lua脚本. 公司有个产品对注册的广告盒子进行反向代理,这样可以在盒子上做很多事情:和服务器通信,远程控制盒子等等.nginx反 ...
- 获取Enum的扩张方法。
public static class EnumExtention { /// <summary> /// 获取枚举的描述信息 /// </summary> /// <t ...
- 关于浮动float属性和position:absolute属性的区别
最近返回头看了很多书籍,一直在纠结float属性和absolute绝对定位的区别和使用的情况,给大家分享一下自己的心得和体会吧. 1,float属性 float属性意义是让元素拜托独占一行的霸道总裁, ...
- wordpress整站搬家总结
去年图便宜,也没准备认真写博文,所以花了几百元钱买了个国内空间(域名已经备案).购买了以后,放了一个wordpress博客,没事的时候写写博文,但从没有抽出时间去写,文章的质量也不追求.一开始还可以, ...
- (转载)无缝滚动图片的js和jquery两种写法
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- .Echo 命令中经常提到回显,是什么意思?
C:\>echo on C:\>date /t2006-08-06 星期日 C:\>以上内容是在打开回显的情况下执行的,其实我们想看到的只有2006-08-06 星期日这一行内容,但 ...
- 物联网传输协议MQTT
MQTT是一个物联网传输协议,它被设计用于轻量级的发布/订阅式消息传输,旨在为低带宽和不稳定的网络环境中的物联网设备提供可靠的网络服务.MQTT是专门针对物联网开发的轻量级传输协议.MQTT协议针对低 ...
- 【Java】Servlet 工作原理解析
Web 技术成为当今主流的互联网 Web 应用技术之一,而 Servlet 是 Java Web 技术的核心基础.因而掌握 Servlet 的工作原理是成为一名合格的 Java Web 技术开发人员的 ...