环境搭建之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环境变量 添加一个变量名,变量值为 ...
随机推荐
- Android界面布局学习总结
参考文章: http://blog.csdn.net/shakespeare001/article/details/7843460 http://www.cnblogs.com/w-y-f/p/412 ...
- 【HDU4010】【LCT】Query on The Trees
Problem Description We have met so many problems on the tree, so today we will have a query problem ...
- java获取数据库数据表的元数据
Connction conn; DatabaseMetaData dmd=conn.getMetaData();//获取数据库元数据 PreparedStatment ps; ps.getParame ...
- 『重构--改善既有代码的设计』读书笔记----Self Encapsulate Field
如果你直接访问一个字段,你就会和这个字段直接的耦合关系变得笨拙.也就是说当这个字段权限更改,或者名称更改之后你的客户端代码都需要做相应的改变,此时你可以为这个字段建立设值和取值函数并且只以这些函数来访 ...
- Java 8 与 .Net的平台发展
从早期版本中,我们已经可以领略到一些令人兴奋的特性.但是开发真Andrew C.Oliver表示,尽管如此,Java语言在某些特性上还是落后于.Net.比如,Java 8 中最令人期待的Lambda表 ...
- 定时器内部的this
今天写了个例子遇见的: timer1=setTimeout(function(){ $(this).next().css("display","none") } ...
- Json串到json对象的转换
JSON(JavaScript Object Notation) JS对象符号 是一种轻量级的数据交换格式 JavaScript eval()函数实现 (一) 标准格式 function JsonFo ...
- 手机端的META你有多了解?
我们先来简单了解下meta标签:meta指元素可提供有关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描述和关键词. 标签位于文档的头部,不包含任何内容. 标签的属性定 ...
- nav
$(document).ready(function() { $(window).resize(function(){ var need=0; var ul_max_width = $(window) ...
- Truck History
poj1789:http://poj.org/problem?id=1789 题意大概是这样的:用一个7位的string代表一个编号,两个编号之间的distance代表这两个编号之间不同字母的个数.一 ...