首先了解下maven和svn是什么:

Maven是一个项目的管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目的生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段 中插件的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。
Maven 有一个生命周期,当你运行 mvn install 的时候被调用。这条命令告诉 Maven 执行一系列的有序的步骤,直到到达你指定的生命周期。遍历生命周期旅途中的一个影响就是,Maven 运行了许多默认的插件的目标,这些目标完成了像编译和创建一个 JAR 文件这样的工作。
此外,Maven能够很方便的帮你管理项目报告,生成站点,管理JAR文件,等等。
个人理解:
(1)maven可以实现管理一个项目,它的pom.xml文件标志着这个项目是maven项目。
(2)它可以实现jar包的管理,对jar包的管理是maven自动进行下载的,其中最常用的是maven的中央仓库,之前有介绍过 http://search.maven.org,在这里可以搜索所需要的jar包以及jar包的版本,直接添加到maven的pom文件中。
(3)当一个项目比较复杂的时候,我们可以采用分布式架构,这个时候就需要建立多个工程,而各个工程是具有依赖关系的,这样就需要maven来管理这些工程,最终实现项目的整体运行。可以实现项目的整体构建打包和发布。
(4)maven的工程类型:war 包(即web工程,基于此包的项目,表示是一个web项目)jar包(java工程)pom工程(这是个聚合工程,用来实现各个工程的依赖)
maven在eclipse中的使用:
目前eclipse的最新版本已经自带maven插件,这样就不需要我们进行安装插件了,我们只需要修改maven的仓库就可以,maven的仓库一般以m2来命名,一般存在本机电脑用户的文件中。

在eclipse中的Windows/preference/maven可以查看maven,在这里可以查看maven的仓库地址

当我们在做了多个项目时候积累了项目所需要的jar包时,我们可以直接将maven的本地仓库覆盖,仓库里面存放的是它所依赖的jar包。

在项目目录下,往往会看到一个名为/lib的子目录,那里存放着各类第三方依赖jar文件,如log4j.jar,junit.jar等等。每建立一个项目,你都需要建立这样的一个/lib目录,然后复制一对jar文件,这是很明显的重复。重复永远是噩梦的起点,多个项目不共用相同的jar文件,不仅会造成磁盘资源的浪费,也使得版本的一致性管理变得困难。此外,如果你使用版本管理工具,如SVN(你没有使用版本管理工具?马上试试SVN吧,它能帮你解决很多头疼的问题),你需要将大量的jar文件提交到代码库里,可是版本管理工具在处理二进制文件方面并不出色。

Maven仓库就是放置所有JAR文件(WAR,ZIP,POM等等)的地方,所有Maven项目可以从同一个Maven仓库中获取自己所需要的依赖JAR,这节省了磁盘资源。此外,由于Maven仓库中所有的JAR都有其自己的坐标,该坐标告诉Maven它的组ID,构件ID,版本,打包方式等等,因此Maven项目可以方便的进行依赖版本管理。你也不在需要提交JAR文件到SCM仓库中,你可以建立一个组织层次的Maven仓库,供所有成员使用。

简言之,Maven仓库能帮助我们管理构件(主要是JAR)。

这时候我们可以直接将maven的仓库覆盖掉,变为自己项目所依赖的jar包的。

即将:C:\Users\Administrator\.m2的.m2文件夹覆盖掉。我们来看下这个文件夹下面是什么内容:

我们以后,如果有新的jar包,我们就可以自己创建一个.m2的文件夹,然后覆盖掉maven的本地仓库就可以在项目中使用了。

接下来我们看下svn的使用:

什么是svn呢?

SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。

说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的,实现多人开发项目的便利性,程序员可以通过SVN修改代码,其他程序员可以看到修改的内容,实现代码的同步性,每天提交自己的代码,具有实时性。

svn在eclipse中的安装和使用:

安装:在进行svn的安装过程中遇到了些小插曲,我们来具体看下svn:

首先我们需要下载svn的服务器,

打开这个服务器我们可以看到

我们今后项目的上传就是上传到这个服务器上面,这里可以创建分支用户,即多个用户访问这台服务器。

然后在eclipse中安装svn:

这里我们借鉴下:主要有两种方式,一种是覆盖文件,一种是在线安装。这里遇到了版本兼容的问题,就是我们要下载最新的那个svn,跟我们的最新的eclipse兼容。

如果没有安装的请到这里下载安装:http://eclipse.org/downloads/ 

2、下载SVN插件subclipse,安装方法有两种.那种绿色的以link方式安装的方式我在indogo上试了多次就是没成功。 

3、SVN插件下载地址及更新地址,你根据需要选择你需要的版本。现在最新是1.8.x 
Links for 1.8.x Release: 
Eclipse update site URL: http://subclipse.tigris.org/update_1.8.x 
svn插件包下载: http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240 

Links for 1.6.x Release: 
Eclipse update site URL: http://subclipse.tigris.org/update_1.6.x 
svn插件包下载: http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240 

Links for 1.4.x Release: 
Eclipse update site URL: http://subclipse.tigris.org/update_1.4.x 
svn插件包下载: http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240 

4、下载插件包,将插件包复制到Eclipse安装目录。见图 
   
   下载后的插件包目录结构: 

 

将插件包features和plugins目录中的文件分别复制到Eclipse安装目录的features和plugins中。然后重启Eclipse 就好了 



5、通过Eclipse安装,看图 

 





然后一路点Next,就OK了!!

将项目添加到存储库

要将新的项目添加到 Subversion 存储库,请右击该项目(可以在任何 Eclipse 的项目视图或 Navigator 视图),并且从菜单中选择 Team > Share Project。Eclipse 会显示 Share Project 对话框。

从 Eclipse 当前支持的存储库列表中选择 SVN,然后单击 Next。接下来的对话框(参见图 13)让您选择现有存储库位置,或者创建一个新位置。

这样就可以实现项目工程的上传了。

对于提交到svn的项目,我们需要注意,我们只需要提交src的文件和pom.xml的文件,其他的可以忽略。

提交到svn的项目,如果我们下载下来,发现不是maven项目,我们需要转化下:

maven项目上面有个M的图标。

右键工程-configure-convert to maven project

即可。

 
 

淘淘商城基于maven和svn的理解的更多相关文章

  1. (转)淘淘商城系列——使用maven构建工程

    http://blog.csdn.net/yerenyuan_pku/article/details/72669269 开发工具和环境 这里,我统一规范一下淘淘商城的开发工具和环境,如下: Eclip ...

  2. 001淘淘商城项目:项目的Maven工程搭建

    开始一个新的项目,特此记录,资料全部来源于传智播客,感谢. 我们要做一个类似电商的项目.用maven做管理. maven里面主要分为三种工程: 1:pom工程:用在父级工程,聚合工程中 2:war工程 ...

  3. (转)淘淘商城系列——使用maven tomcat插件启动聚合工程

    http://blog.csdn.net/yerenyuan_pku/article/details/72672389 上文我们一起学习了如何使用maven tomcat插件来启动web工程,本文我们 ...

  4. ZZJ_淘淘商城项目:day01(RESTful Web Service、SVN)

    淘淘商城项目是很适合初级Java程序员练习的实战项目,本次复习是另一位张老师教授的课,内容上与之前入老师版taotao商城比较有些新东西加了进来. 因此有必要记录下那些直到现在还可供参考的技术亮点分享 ...

  5. JAVAEE——淘淘商城第一天:电商行业的背景和技术特点,商城的介绍、技术的选型、系统架构和工程搭建

    1. 学习计划 1.电商行业的背景. 2.电商行业的技术特点 3.商城的介绍 a) 常用的名词介绍 b) 系统功能介绍 4.淘淘商城的系统架构 a) 传统架构 b) 分布式架构 c) 基于服务的架构 ...

  6. ssm(Spring、Springmvc、Mybatis)实战之淘淘商城-第十三天(非原创)

    文章大纲 一.课程介绍二.SolrCloud介绍与搭建三.工程部署四.参考资料下载五.参考文章   一.课程介绍 一共14天课程(1)第一天:电商行业的背景.淘淘商城的介绍.搭建项目工程.Svn的使用 ...

  7. day68_淘淘商城项目_01

    原文:day68_淘淘商城项目_01 课程计划 第一天: 1.电商行业的背景介绍--电子商务 2.淘淘商城的系统架构 a) 功能介绍 b) 架构讲解 3.工程搭建--后台工程 a) 使用maven搭建 ...

  8. day68_淘淘商城项目_01_电商介绍 + 互联网术语 + SOA + 分布式 + 集群介绍 + 环境配置 + 框架搭建_匠心笔记

    课程计划 第一天: 1.电商行业的背景介绍--电子商务 2.淘淘商城的系统架构 a) 功能介绍 b) 架构讲解 3.工程搭建--后台工程 a) 使用maven搭建工程(工程大) b) 使用maven的 ...

  9. 淘淘商城_day11_课堂笔记

    今日大纲 发布前的准备 实施发布 一部分是由我来发布 一部分是由你们来发布 讲解分布式部署架构 测试 功能测试 压力测试 项目实战的准备以及分组 分组 抽取功能 讲解所需要开发的功能 项目部署上线流程 ...

随机推荐

  1. [BZOJ 1260][CQOI2007]染色(DP)

    题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1260 分析: f[i][j]表示i~j刷成s[i]~s[j]这个样子需要的最小次数 则 ...

  2. 匈牙利算法(codevs2776)

    type node=^link; link=record des:longint; next:node; end; var n,m,i,t,num:longint; p:node; nd:..] of ...

  3. 使用webpack搭建vue开发环境

    最近几天项目上使用了vue.js作为一个主要的开发框架,并且为了发布的方便搭配了webpack一起使用.CSS框架使用的是vue-strap(vue 对bootstrap控件做了封装)这篇文章主要总结 ...

  4. zabbix 监控MySQL

    现在我来说一下我的监控环境 zabbix-3.0.3 MySQL-5.6.23 1.首先我们要登录MySQL,创建一个监控MySQL的用户 GRANT USAGE,PROCESS,SUPER,REPL ...

  5. Linux运维人员共用root帐户权限审计

    Linux运维人员共用root帐户权限审计 2016-11-02 运维部落 一.应用场景 在中小型企业,公司不同运维人员基本都是以root 账户进行服务器的登陆管理,缺少了账户权限审计制度.不出问题还 ...

  6. 使用 screen 管理你的远程会话

    文章转载自:https://www.ibm.com/developerworks/cn/linux/l-cn-screen/ 在此只作为笔记使用,不做他用 你是不是经常需要 SSH 或者 telent ...

  7. 了解ASP.NET MVC几种ActionResult的本质:JavaScriptResult & JsonResult

    在之前的两篇文章(<EmptyResult & ContentResult>和<FileResult>)我们剖析了EmptyResult.ContentResult和F ...

  8. git 创建别名

    git config --global alias.shortname command 例子如下 git config --global alias.psm 'push origin master' ...

  9. 【URAL 1018】Binary Apple Tree

    http://vjudge.net/problem/17662 loli蜜汁(面向高一)树形dp水题 #include<cstdio> #include<cstring> #i ...

  10. bzoj 3743

    这道题用到了4个dfs,分别是找出所有家的最小生成树,找出一点距离树的最小距离,找出每个点儿子距离的最大值(不包括父亲,也就是指不包括根节点的子树),用父亲的值来更新自己 因为我们可以知道:如果我们在 ...