因为做Zip和Rar解析的时候,找到了mucommander工具,可将其jar包导入项目里执行发现报:类型转换错误,org.apache.commons.logging.impl.Log4JLogger  cannot be cast to

org.apache.commons.logging.impl.Jdk14Logger

预计是一个类中写死了类型转换为Jdk14Logger,而我的项目里是採用Log4JLogger,所以导致无法转换过来。所以仅仅得把其源码所有check out下来又一次改动编辑打包。​

怎样高速建立Subversionserver,而且在项目中使用起来,这是大家最关心的问题,与CVS相比,Subversion有很多其它的选择,也更加的easy,几个命令就能够建立一套server环境,能够使用起来,这里配套有​​动画教程​​。

本文是使用Subversion最高速的教程,在最短的时间里帮助您建立起一套可用的server环境,仅仅需略加调整就能够应用到实际项目其中。

本教程分为下面几个部分,为了说明简单,教程是在windows下使用的方式,以方便资源有限的项目使用。在UNIX环境下,仅仅是安装方式不同,命令运行并无太大差别。


  • 软件下载
  • server和client安装
  • 建立版本号库(Repository)
  • 配置用户和权限
  • 执行独立server
  • 初始化导入
  • 基本client操作

1,软件下载

下载Subversionserver程序。

到​​官方站点​​​的下载二进制安装文件,来到​​二进制包下载部分​​​,找到 Windows NT, 2000, XP and 2003部分,然后选择​​Apache 2.0​​​ 或者 ​​Apache 2.2​​​,这样我们能够看到很多下载的内容,眼下能够下载​​Setup-Subversion-1.5.3.msi​​ 。

下载Subversion的WindowsclientTortoiseSVN。

TortoiseSVN是扩展Windows Shell的一套工具,能够看作Windows资源管理器的插件,安装之后Windows就能够识别Subversion的工作文件夹。

官方站点是​​TortoiseSVN ​​​,下载方式和前面的svnserver相似,在​​Download​​​页面的我们能够选择下载的版本号,眼下的最高稳定版本号的安装文件为​​TortoiseSVN-1.5.5.14361-win32-svn-1.5.4.msi​​。

2,server和client安装

server安装,直接执行​​Setup-Subversion-1.5.3.msi​​ ,依据提示安装就可以,这样我们就有了一套server能够执行的环境。

安装TortoiseSVN,相同直接执行​​TortoiseSVN-1.5.5.14361-win32-svn-1.5.4.msi​​依照提示安装就可以,只是最后完毕后会提示是否重新启动,事实上重新启动仅仅是使svn工作拷贝在windows中的特殊样式生效,与全部的实际功能无关,这里为了立马看到好的效果,还是又一次启动机器。

 

3,建立版本号库(Repository)

执行Subversionserver须要首先要建立一个版本号库(Repository),能够看作server上存放数据的数据库,在安装了Subversionserver之后,能够直接执行,如:

(1)、svnadmin create E:/svndemo/repository


就会在文件夹E:/svndemo/repository下创建一个版本号库。

(2)、我们也能够使用TortoiseSVN图形化的完毕这一步:

在文件夹E:/svndemo/repository下"右键->TortoiseSVN->Create Repository here...“, 然后能够选择版本号库模式, 这里使用默认就可以, 然后就创建了一系列文件夹和文件。

      注意:在做的时候没看清楚还以为(2)是接着(1),最后却发现报: "Subversion reported an error while creating a repository!

       Make sure the folder is empty and not write protected."

最后换了另外一个空文件夹直接(2)竟然和(1)生成一样的文件夹和文件才知两个方法都是达到同一个目的的。

4,配置用户和权限

来到E:/svndemo/repository/conf文件夹,改动svnserve.conf:

# [general]

# password-db = passwd

改为:

[general]

password-db = passwd

然后改动同文件夹的passwd文件,去掉以下三行的凝视:

# [users]

# harry = harryssecret

# sally = sallyssecret

最后变成:

[users]

harry = harryssecret

sally = sallyssecret

 在passwd文件里,“=”前的字符就是username,后面的就是password。还要注意“[users]”前面的凝视“#”一定要删除掉。

5,执行独立server

在随意文件夹下执行:

svnserve -d -r E:/svndemo/repository 我们的server程序就已经启动了。注意不要关闭命令行窗体,关闭窗体也会把svnserve停止。

6,初始化导入

来到我们想要导入的项目根文件夹,在这个样例里是E:/svndemo/initproject,文件夹下有一个readme.txt文件:

右键->TortoiseSVN->Import...

在URL of repository输入“svn://localhost/trunk”

在Import Message中输入你的日志信息

完毕之后文件夹没有不论什么变化,假设没有报错,数据就已经所有导入到了我们刚才定义的版本号库中。

须要注意的是,这一步操作能够全然在还有一台安装了TortoiseSVN的主机上进行。比如执行svnserve的主机的IP是133.96.121.22,则URL部分输入的内容就是“svn://133.96.121.22/trunk”。

7,基本client操作

取出版本号库到一个工作拷贝: 

来到随意空文件夹下,在本例中是E:/svndemo/wc1,执行右键->Checkout,在URL of repository中输入svn://localhost/trunk,这样我们就得到了一份工作拷贝。 

 

在工作拷贝中作出改动并提交: 

打开readme.txt,作出改动,然后右键->Commit...,这样我们就把改动提交到了版本号库,我们能够执行。

 

察看所作的改动: 

readme.txt上右键->TortoiseSVN->Show Log,这样我们就能够看到我们对这个文件全部的提交。在版本号1上右键->Compare with working copy,我们能够比較工作拷贝的文件和版本号1的差别。

最后,全部的内容都已经录制为​​动画文件​​,大家能够參考。