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。。。。。。。。。。。。。