eclipse(helios)之SVN、spring等插件安装

上次写了一半,最近比较忙,上班,玩LINUX没什么时间来更新,加上ROBBIN老大的神奇代码吧JE封了2天多。

咳咳。进入正题

SVN:说实在话,本人没用过CVS所以没比较 只知道SVN是CVS的升级版,广大ITER信赖产品,在线升级,eclipse.org->plugins->左边就有SVN了  排第二,很多人用啊  呵呵 ,点了之后找到INSTALL,复制地址,ECLIPSE里面HELP->find-update...什么的 点进去输入名字然后把更新地址复制进去,出来列表后选择所有皆可,安装过程因网速而定。SPRING安装亦是如此。

特别说明:可以选择网速快的地方安装好后COPY到本机上跑起来效果一样。我家里速度慢,在公司配置好环境后COPY回家就用,很爽的。

有任何问题或者不解请email到[email protected]

更新:

2010年12月18日,今天又来搞搞版本控制的问题。有关网上说了很大一堆东西说什么apache2.2的和svn搞不到一起的观点,本人在此鄙视一下,apache文档上面好像写的有支持2.2的版本支持SVN。

本人版本:apache2.2.15+svn1.6.13 

好啦,这里版本控制是本地的,关于分布式版本控制还有更先进的东西,这里不做介绍。

eclipse3.6的相关插件配置完成以后为了达到团队开发的效率问题啊,版本控制可谓是功不可没。

局域网内效果和功能即使访问,出错恢复等一系列的特色功能,都是SVN的特长。

情景:假设3个人1个团队,2个组,我是管理员admin,其他2位分别是teamer1,teamer2,公司其他人都是匿名用户。

版本库:SVN/PRO

PRO表示版本库名,SVN表示版本库管理根目录

OK 为了使apache能和SVN融合在一起,说说安装步骤(安装顺序比较重要)

安装SVN,安装完成后在安装目录下有4个文件夹

分别是

BIN

ICONV

LINCENSES

SHARE

顾名思义,bin是放可以执行文件的目录,打开找到以.so为后缀名的 文件2个,分别是mod_dav_svn.so和mod_authz_svn.so

OK,其实就2个so的文件,这2个文件跟apache的/conf/httpd.conf里面配置相关,打开httpd.conf文件(apache安装目录下conf文件夹中)

LoadModule dav_module modules/mod_dav.so

LoadModule dav_fs_module modules/mod_dav_fs.so

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

红色部分本身是加了#的,表示没有启用此功能,取消#号,后面加入蓝色部分。

然后把mod_dav_svn.so和mod_authz_svn.so这2个文件复制到apache安装目录下的modules中,OK,此时svn和apache的关联文件已经搞完了,继续。

为了达到权限控制的目的,即:无论谁在浏览器中输入http://ip地址:端口/svn/test都可以访问到此版本库中的文件,不行!下面说说权限控制。

首先在httpd.conf中加入<Location /svn>

#SVN 
DAV svn
SVNListParentPath on
SVNParentPath "E:/svn"
#SVNPath "E:/svn/test"

####################认证的类型
AuthType Basic
####################认证的名称显示于登录提示框
AuthName "Subversion 资源库,请登录!"
####################Which password file to use for authentication 存储用户登录信息的文件
AuthUserFile E:\svn\passwd
####################限定各个用户或组在版本库中目录的访问权限
AuthzSVNAccessFile E:\svn\security
####################让所有用户对版本库都有读的权限而只有特定的用户才有写的权限
Require valid-user
</Location>

 解释一下上面的内容,SVNParentPath "E:/svn" 表示版本库根目录 ,其他的有相关注释,SVNListParentPath on我觉得多余,但是删了还是不行,费解

现在我们需要在E:\svn\passwd中添加一个文件叫passwd密码文件和一个 E:\svn\security权限分配的文件。

打开apache根目录下bin目录用DOS窗口dir一下看到有htppasswd这么一个exe文件,做什么的呢,就是生成密码文件的。DOS下输入htppasswd -h查看一下用法,常用的有htppasswd -c 文件名(可跟绝对路径) 用户名——表示增加用户;htppasswd -D 文件名 用户名——表示删除用户。htppasswd 文件名 用户名 ——表示在文件中多写一行密码信息(就是多加啦一个用户嘛)。操作完成之后,文件名路径下肯定多啦一个文件,打开看看是用户名=密码的格式,密码MD5加密过的。好啦,下一步权限文件,密码同级目录下新建计事文件,起名security,打开编辑

[groups]
admin = admin
devteam1 = teamer1,teamer2,admin

# 为所有库指定默认访问规则
# 所有人可以读,管理员可以写,危险分子没有任何权限,[/]代表根目录
[/]
# * = r 
@admin = rw
dangerman =


# 允许开发人员可以完全访问他们的项目版本库
[lstest:/]
@devteam1 = r

[lstest:/lstest/WebContent]
@devteam1 = rw
 

这一步很容易理解,我不想多说,大家多看2眼就可以了了。

差不多搞完了。返回去说一下,刚刚版本库的建立命令我还没讲到

打开svn安装目录下的bin目录,DOS下DIR一下,看到有个svnadmin.exe文件没?对了,这个文件可以创建 版本库

操作如下

mkdir e:\svn  //建立一个文件夹管理所有的版本库
svnadmin -h// 用命令之前肯弟你个要看看相关说明
create可以创建版本库
如下:
create: 用法: svnadmin create REPOS_PATH

在 REPOS_PATH 创建一个新的空版本库。

有效选项:
  --bdb-txn-nosync         : 在提交事务时禁用fsync [BDB]
  --bdb-log-keep           : 禁用自动删除日志文件 [BDB]
  --config-dir ARG         : 从目录 ARG 读取用户配置文件
  --fs-type ARG            : 版本库类型: “fsfs”(默认)或“bdb”
  --pre-1.4-compatible     : 使用与1.4之前版本兼容的格式
  --pre-1.5-compatible     : 使用 Subversion 1.5 之前版本的格式
  --pre-1.6-compatible     : 使用与 1.6 之前版本兼容的格式
我是这么写的
svnadmin create --fs type fsfs e:\svn\test
这样在e盘-svn下就多了一个名叫test的目录就是版本库啦,用这个命令可以创建多个版本库

 打开eclipse创建dynamic web工程,然后新建一个server,配置server和apache tomcat 这样可以用来热部署项目。而且在tomcat目录下你是看不到相关工程的发布文件的。

新建一个页面,写上测试成功等信息。

右键工程,team-share...表示共享此项目,配置相关svn的信息后点击OK,就可以看到项目变了,文件签名的小图标变了,后面还多了些数字,此时重启apahce然后访问浏览器http://ip地址:端口/svn/test/p1——(假设项目就叫p1),提示登录输入我们刚刚配置好的用户名和密码,这里输入teamer1,xxxxx,可以查看到项目。说明SVN起作用了。点开apache可以看到下面本身是只有apache以及版本号的,现在后面多了个svn1.6.13 dev等字样,OK,你可以多台机器配置试试,关键是eclipse下应该创建一个SVN的工程,然后输入主机的SVN配置信息获得项目。这跟google那个code是不是黑像?哈哈

结束语:文章口水话多,请网友见谅,另外我想知道热部署的一些YD技巧,比如说我们10台机器,可能有3个人在改同一个文件,但是我要求改动后马上部署上去(局域网)不用每次麻烦的去重启服务器而可以看到实时效果,请发送至我邮箱[email protected]

相关推荐