环境搭建之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环境变量 添加一个变量名,变量值为 ...
随机推荐
- JS键盘码值表
值得注意的是,keypress事件中获取的keycode.which,都是按键对应的ascii值,而不完全对应下面的列表. 将字符转换为ascii值可以用charCodeAt函数. keycode 8 ...
- 关于c:\fakepath\的解决办法
(2014.11.25 最后更新) 一.碎碎念:关于访问本地图片的路径的问题,比较典型的例子就是上传头像.在以往的解决办法中,我们大多是先将图片上传到服务器然后从服务器返回图片,显示在页面上以达到预览 ...
- T-SQL语言基础
1.T-SQL语言 CREATE:创建新对象,包括数据库.表.视图.过程.触发器和函数等常见数据库对象. ALTER:修改已有对象的结构. DROP:用来删除已有的对象.有些对象是无法删除的,因为它们 ...
- 学习笔记--【转】Parameter与Attribute的区别&servletContext与ServletConfig区别
原文链接http://blog.csdn.net/saygoodbyetoyou/article/details/9006001 Parameter与Attribute的区别 request. ...
- laravel5.2学习资源
研究laravel的过程中基本把国内关于laravel的资料给翻了一遍了: 整理了一些中文的资源如下: 一:教程系列 1:https://laravist.com/series/laravel-5-b ...
- 使用js判断一个对象是否为空 比如 obj={}
今天使用到js判断一个对象是否为空,js没有封装好的方法,这里最好的办法就是使用jquery里面的封装好的方法 $.isEmptyObject(obj)
- 不让input表单的输入框保存用户输入的历史记录
如何不让input表单的输入框保存用户输入的历史记录. 有时我们在设计网页时不想让表单保存用户输入历史记录,比如一些隐私数据,或一些冲值卡 <input name="test&quo ...
- hiho一下103周 平衡树·Treap
平衡树·Treap 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho:小Hi,我发现我们以前讲过的两个数据结构特别相似. 小Hi:你说的是哪两个啊? 小Ho:就是二 ...
- 关于html5
html5 是用来 将 js 和 css 结合起来 从而实现 各种功能 javascript 用来定义 html5 页面的逻辑 css 来定义 html5 中的显示样式
- 最好用的手机编程软件-C4droid
Q:c4droid是什么? A:c4droid(以下简称c4)是安卓平台上最强大的c/c++ 编译器,你可以在手机上用手机编写自己的C/C++程序,并且可以把程序导出成apk文件. 下载地址:http ...