首页 > 代码库 > 淘淘商城基于maven和svn的理解

淘淘商城基于maven和svn的理解

首先了解下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的理解