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]
相关推荐
pub_svnserve.conf的 pub_authz.conf的配置文件有非法字符的原因引起,需要查找pub_authz.conf提的非法内容比如多余的空格删除或直接将pub_authz.conf