﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-nbtymm-随笔分类-其它开源项目</title><link>http://www.blogjava.net/nbtymm/category/11233.html</link><description>&lt;/br&gt;&lt;a href="http://www.fastonlineusers.com"&gt;&lt;b&gt;&lt;font color=red&gt;共有&lt;script src=http://fastonlineusers.com/online.php?d=bluedavy.blogjava.net&gt;&lt;/script&gt;人在同时阅读此Blog&lt;/font&gt;&lt;/b&gt;&lt;/a&gt;</description><language>zh-cn</language><lastBuildDate>Wed, 18 Apr 2007 10:24:04 GMT</lastBuildDate><pubDate>Wed, 18 Apr 2007 10:24:04 GMT</pubDate><ttl>60</ttl><item><title>MyEclipse5.5的破解方法</title><link>http://www.blogjava.net/nbtymm/archive/2007/04/17/111370.html</link><dc:creator>nbt</dc:creator><author>nbt</author><pubDate>Tue, 17 Apr 2007 10:11:00 GMT</pubDate><guid>http://www.blogjava.net/nbtymm/archive/2007/04/17/111370.html</guid><wfw:comment>http://www.blogjava.net/nbtymm/comments/111370.html</wfw:comment><comments>http://www.blogjava.net/nbtymm/archive/2007/04/17/111370.html#Feedback</comments><slash:comments>12</slash:comments><wfw:commentRss>http://www.blogjava.net/nbtymm/comments/commentRss/111370.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nbtymm/services/trackbacks/111370.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp; MyEclipse5.5推出有一段时间了,但是网上一直都没有破解的文件,通过今天跟公司几个同事的努力尝试终于找到破解的方法了,说起来比较可笑,我们经过好多次的尝试,最后用MyEclipse4.1的破解文件就可以破解MyEclipse5.5了,我们用的MyEclipse5.5的版本是MyEclipse_5.5M2_E3.2.2,Eclipse的版本是eclipse3.2.2大家可以尝试一下.<br></p>
<p>在此特别要说明一下的是运行MyEclipse4.1的时候要选择MyEclipse4.1&amp;4.2 GA这个选择才可以破解如图<br><img height=247 alt="" src="http://www.blogjava.net/images/blogjava_net/nbtymm/myeclipse.GIF" width=421 border=0><br><br>MyEclipse_5.5M2_E3.2.2的官方下载地址 : http://www.myeclipseide.com/ContentExpress-display-ceid-110.html<br><a title=MyEclipse4.1破解文件下载 href="http://www.blogjava.net/Files/nbtymm/myeclipsekeygen_for_4.1.rar">MyEclipse4.1破解文件下载</a></p>
<img src ="http://www.blogjava.net/nbtymm/aggbug/111370.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nbtymm/" target="_blank">nbt</a> 2007-04-17 18:11 <a href="http://www.blogjava.net/nbtymm/archive/2007/04/17/111370.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>log4j的用法</title><link>http://www.blogjava.net/nbtymm/archive/2006/10/07/73625.html</link><dc:creator>nbt</dc:creator><author>nbt</author><pubDate>Sat, 07 Oct 2006 05:53:00 GMT</pubDate><guid>http://www.blogjava.net/nbtymm/archive/2006/10/07/73625.html</guid><wfw:comment>http://www.blogjava.net/nbtymm/comments/73625.html</wfw:comment><comments>http://www.blogjava.net/nbtymm/archive/2006/10/07/73625.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/nbtymm/comments/commentRss/73625.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nbtymm/services/trackbacks/73625.html</trackback:ping><description><![CDATA[
		<div class="postbody">一、前言：<br />     log4j 是一个开放源码项目，是广泛使用的以Java编写的日志记录包。由于log4j出色的表现，     当时在log4j完成时，log4j开发组织曾建议sun在jdk1.4中用log4j取代jdk1.4 的日志工具类，但当时jdk1.4已接近完成，所以sun拒绝使用log4j，当在java开发中实际使用最多的还是log4j，     人们遗忘了sun的日志工具类。     它的一个独有特性包括在类别中继承的概念。通过使用类别层次结构，这样就减少了日志记录输出量，并将日志记录的开销降到最低。<br />   <br />     它允许开发者控制以任意间隔输出哪些日志语句。通过使用外部配置文件，完全可以在运行时进行配置。几乎每个大的应用程序都包括其自己的日志记录或跟踪 API。经验表明日志记录是开发周期中的重要组成部分。同样，日志记录提供一些优点。首先，它可以提供运行应用程序的确切 上下文。一旦插入到代码中，生成日志记录输出就不需要人为干涉。其次，日志输出可以保存到永久媒体中以便以后研究。最后，除了在开发阶段中使用，十分丰富的日志记录包还可以用作审计工具。 
<p>    依照该规则，在 1996 年初，EU SEMPER（欧洲安全电子市场）项目就决定编写自己的跟踪 API。 在无数次改进、几次具体化和许多工作之后，该 API 已经演变成 log4j，一种流行的 Java 日志记录包。  这个包按 IBM 公共许可证分发，由开放源码权威机构认证。</p><p>    日志记录有其自己的缺点。它会降低应用程序的速度。如果太详细，它可能会使屏幕滚动变得看不见。  为了减低这些影响，log4j 被设计成快速且灵活的。由于应用程序很少将日志记录当作是主要功能，  log4j API 力争易于了解和使用。<br />     log4j，它可以控制以任意间隔输出哪些日志语句。</p><p>二、主要组件</p><p>1、根类别（在类别层次结构的顶部，即全局性的日志级别）<br /> <br />配置根Logger，其语法为：</p><p>log4j.rootLogger = [ level ] , appenderName, appenderName, ...</p><p>level 是日志记录的类别<br />appenderName就是指定日志信息输出到哪个地方。您可以同时指定多个输出目的地。 </p><p>类别level 为 OFF、FATAL、ERROR、WARN、INFO、DEBUG、log、ALL或自定义的优先级。<br />og4j常用的优先级FATAL&gt;ERROR&gt;WARN&gt;INFO&gt;DEBUG<br />配置根Logger，其语法为：<br />log4j.rootLogger = [ level ] , appenderName, appenderName, …<br />如果为log4j.rootLogger=WARN，则意味着只有WARN,ERROR,FATAL被输出，DEBUG,INFO将被屏蔽掉。</p><p>举例：log4j.rootCategory=INFO,stdout,Runlog,Errorlog<br />根日志类别为INFO，DEBUG将被屏蔽，其他的将被输出。 stdout,Runlog,Errorlog分别为3个输出目的地。</p><p> 2、常用输出格式</p><p> -X号:X信息输出时左对齐；<br /> %p:日志信息级别<br /> %d{}:日志信息产生时间<br /> %c:日志信息所在地（类名）<br /> %m:产生的日志具体信息<br /> %n:输出日志信息换行<br /> 举例：<br />log4j.appender.stdout.layout.ConversionPattern= %5p %d{yyyy-MM-dd HH:mm:ss} %c %m %n<br />log4j.appender.Runlog.layout.ConversionPattern= %5p %d{yyyy-MM-dd HH:mm:ss} %c %m %n<br />log4j.appender.Errorlog.layout.ConversionPattern= %5p %d{yyyy-MM-dd HH:mm:ss} %c %m %n</p><p>3、布局<br />使用的输出布局，其中log4j提供4种布局：<br />org.apache.log4j.HTMLLayout（以HTML表格形式布局）<br />org.apache.log4j.PatternLayout（可以灵活地指定布局模式），<br />org.apache.log4j.SimpleLayout（包含日志信息的级别和信息字符串），<br />org.apache.log4j.TTCCLayout（包含日志产生的时间、线程、类别等等信息） </p><p>举例：<br />输出格式为HTML表格<br />log4j.appender.stdout.layout=org.apache.log4j.HTMLLayout</p><p>输出格式为可以灵活地指定布局模式<br />log4j.appender.stdout.layout=org.apache.log4j.PatternLayout</p><p>输出格式为包含日志信息的级别和信息字符串<br />log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout</p><p>输出格式为包含日志产生的时间、线程、类别等等信息<br />log4j.appender.stdout.layout=org.apache.log4j.TTCCLayout</p><p><br />4、目的地</p><p>配置日志信息输出目的地Appender，其语法为</p><p><br />log4j.appender.appenderName = fully.qualified.name.of.appender.class<br />log4j.appender.appenderName.option1 = value1<br />...<br />log4j.appender.appenderName.option = valueN<br />appenderName就是指定日志信息输出到哪个地方。您可以同时指定多个输出目的地。 </p><p>log4j支持的输出目的地：<br />org.apache.log4j.ConsoleAppender 控制台<br />org.apache.log4j.FileAppender 文件<br />org.apache.log4j.DailyRollingFileAppender 每天产生一个日志文件<br />org.apache.log4j.RollingFileAppender （文件大小到达指定尺寸的时候产生一个新的文件），<br />org.apache.log4j.WriterAppender （将日志信息以流格式发送到任意指定的地方） <br />org.apache.log4j.net.SMTPAppender 邮件<br />org.apache.log4j.jdbc.JDBCAppender 数据库<br />其他如：GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等</p><p>举例：</p><p><br />输出到控制台<br />log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender（指定输出到控制台）<br />log4j.appender.Threshold=DEBUG（指定输出类别）<br />log4j.appender.CONSOLE.Target=System.out<br />log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout（指定输出布局）<br />log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n（指定输出格式）</p><p>输出到文件</p><p>   log4j.appender.FILE=org.apache.log4j.FileAppender（指定输出到文件）<br />   log4j.appender.FILE.File=file.log（指定输出的路径及文件名）<br />   log4j.appender.FILE.Append=false<br />   log4j.appender.FILE.layout=org.apache.log4j.PatternLayout（指定输出的布局）<br />   log4j.appender.FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n（指定输出的格式）</p><p>输出到文件（轮换"日志文件",当日志文件达到指定大小时，该文件就被关闭并备份，然后创建一个新的日志文件）</p><p>  log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender（指定输出到文件）<br />  log4j.appender.ROLLING_FILE.Threshold=ERROR（指定输出类别）<br />  log4j.appender.ROLLING_FILE.File=rolling.log（指定输出的路径及文件名）<br />  log4j.appender.ROLLING_FILE.Append=true<br />  log4j.appender.ROLLING_FILE.MaxFileSize=10KB（指定输出到文件的大小）<br />  log4j.appender.ROLLING_FILE.MaxBackupIndex=1<br />  log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout（指定采用输出布局）<br />  log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n（指定采用输出格式）</p><p>输出到Socket<br /> log4j.appender.SOCKET=org.apache.log4j.RollingFileAppender（指定输出到Socket）<br /> log4j.appender.SOCKET.RemoteHost=localhost（远程主机）<br /> log4j.appender.SOCKET.Port=5001（远程主机端口）<br /> log4j.appender.SOCKET.LocationInfo=true<br /> log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout（布局）<br /> log4j.appender.SOCET.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]%n%c[CATEGORY]%n%m[MESSAGE]%n%n（输出格式）</p><p>输出到邮件<br />log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender（指定输出到邮件）<br /> log4j.appender.MAIL.Threshold=FATAL<br /> log4j.appender.MAIL.BufferSize=10<br /> <a href="mailto:log4j.appender.MAIL.From=chenyl@hollycrm.com"><font color="#1d58d1">log4j.appender.MAIL.From=chenyl@hollycrm.com</font></a>（发件人）<br /> log4j.appender.MAIL.SMTPHost=mail.hollycrm.com（SMTP服务器）<br /> log4j.appender.MAIL.Subject=Log4J Message<br /> <a href="mailto:log4j.appender.MAIL.To=chenyl@hollycrm.com"><font color="#1d58d1">log4j.appender.MAIL.To=chenyl@hollycrm.com</font></a>（收件人）<br /> log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout（布局）<br /> log4j.appender.MAIL.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n（格式）</p><p> </p><p>输出到数据库<br /> log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender（指定输出到数据库）<br /> log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/test（指定数据库URL）<br /> log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver（指定数据库driver）<br /> log4j.appender.DATABASE.user=root（指定数据库用户）<br /> log4j.appender.DATABASE.password=root（指定数据库用户密码）<br /> log4j.appender.DATABASE.sql=INSERT INTO LOG4J (Message) VALUES ('[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n')（组织SQL语句）<br /> log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout（布局）<br /> log4j.appender.DATABASE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n（格式）</p><p>5、日志类别补充<br />有时我们需要对某个特定的部分指定有别于根类别的日志类别，可以指定某个包的优先级<br />如：<br />  log4j.category.com.neusoft.mbip.dm.util=ERROR ，其中com.neusoft.mbip.dm.util为我们需要特别指定日志类别的部分。<br />  <br />  或者可以指定输出文件的优先级<br />  log4j.appender.Errorlog.Threshold=ERROR<br />  <br /> <br /> 三、 常用log4j配置  </p><p>常用log4j配置，一般可以采用两种方式，.properties和.xml,下面举两个简单的例子：</p><p>1、log4j.properties</p><p>### 设置org.zblog域对应的级别INFO,DEBUG,WARN,ERROR和输出地A1，A2 ##<br />log4j.category.org.zblog=ERROR,A1 <br />log4j.category.org.zblog=INFO,A2 </p><p>log4j.appender.A1=org.apache.log4j.ConsoleAppender <br />### 设置输出地A1，为ConsoleAppender(控制台) ##<br />log4j.appender.A1.layout=org.apache.log4j.PatternLayout <br />### 设置A1的输出布局格式PatterLayout,(可以灵活地指定布局模式）##<br />log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n <br />### 配置日志输出的格式##</p><p>log4j.appender.A2=org.apache.log4j.RollingFileAppender <br />### 设置输出地A2到文件（文件大小到达指定尺寸的时候产生一个新的文件）##<br />log4j.appender.A2.File=E:/study/log4j/zhuwei.html <br />### 文件位置##<br />log4j.appender.A2.MaxFileSize=500KB <br />### 文件大小##<br />log4j.appender.A2.MaxBackupIndex=1 <br />log4j.appender.A2.layout=org.apache.log4j.HTMLLayout <br />##指定采用html方式输出</p><p>2、log4j.xml</p><p>&lt;?xml version="1.0" encoding="GB2312" ?&gt;<br />&lt;!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"&gt;</p><p>&lt;log4j:configuration xmlns:log4j="<a href="http://jakarta.apache.org/log4j/"><font color="#1d58d1">http://jakarta.apache.org/log4j/</font></a>"&gt;</p><p>&lt;appender name="org.zblog.all" class="org.apache.log4j.RollingFileAppender"&gt;<br />&lt;!-- 设置通道ID:org.zblog.all和输出方式：org.apache.log4j.RollingFileAppender --&gt;<br />    &lt;param name="File" value="E:/study/log4j/all.output.log" /&gt;&lt;!-- 设置File参数：日志输出文件名 --&gt;<br />    &lt;param name="Append" value="false" /&gt;&lt;!-- 设置是否在重新启动服务时，在原有日志的基础添加新日志 --&gt;<br />    &lt;layout class="org.apache.log4j.PatternLayout"&gt;<br />        &lt;param name="ConversionPattern" value="%p (%c:%L)- %m%n" /&gt;&lt;!-- 设置输出文件项目和格式 --&gt;<br />    &lt;/layout&gt;<br />&lt;/appender&gt;</p><p>&lt;appender name="org.zblog.zcw" class="org.apache.log4j.RollingFileAppender"&gt;<br />    &lt;param name="File" value="E:/study/log4j/zhuwei.output.log" /&gt;<br />    &lt;param name="Append" value="true" /&gt;<br />    &lt;param name="MaxFileSize" value="10240" /&gt; &lt;!-- 设置文件大小 --&gt;<br />    &lt;layout class="org.apache.log4j.PatternLayout"&gt;<br />        &lt;param name="ConversionPattern" value="%p (%c:%L)- %m%n" /&gt;<br />    &lt;/layout&gt;<br />&lt;/appender&gt;</p><p>&lt;logger name="zcw.log"&gt; &lt;!-- 设置域名限制，即zcw.log域及以下的日志均输出到下面对应的通道中 --&gt;<br />    &lt;level value="debug" /&gt;&lt;!-- 设置级别 --&gt;<br />    &lt;appender-ref ref="org.zblog.zcw" /&gt;&lt;!-- 与前面的通道id相对应 --&gt;<br />&lt;/logger&gt;</p><p>&lt;root&gt; &lt;!-- 设置接收所有输出的通道 --&gt;<br />    &lt;appender-ref ref="org.zblog.all" /&gt;&lt;!-- 与前面的通道id相对应 --&gt;<br />&lt;/root&gt;</p><p>&lt;/log4j:configuration&gt;</p><p><br />3、配置文件加载方法：</p><p>import org.apache.log4j.Logger;<br />import org.apache.log4j.PropertyConfigurator;<br />import org.apache.log4j.xml.DOMConfigurator;</p><p>public class Log4jApp {<br />    public static void main(String[] args) {<br />        DOMConfigurator.configure("E:/study/log4j/log4j.xml");//加载.xml文件<br />        //PropertyConfigurator.configure("E:/study/log4j/log4j.properties");//加载.properties文件</p><p>        Logger log=Logger.getLogger("org.zblog.test");<br />        log.info("测试");<br />    }<br />}</p><p>4、项目使用log4j<br />在web应用中，可以将配置文件的加载放在一个单独的servlet中，并在web.xml中配置该servlet在应用启动时候加载。<br />对于在多人项目中，可以给每一个人设置一个输出通道，这样在每个人在构建Logger时，用自己的域名称，让调试信<br />息输出到自己的log文件中。</p><p>四、log4j配置举例（properties）</p><p>#log4j.rootLogger = [ level ] , appenderName, appenderName, <br />#类别level 为 OFF、FATAL、ERROR、WARN、INFO、DEBUG、log、ALL或自定义的优先级<br />#Log4j常用的优先级FATAL&gt;ERROR&gt;WARN&gt;INFO&gt;DEBUG</p><p>#stdout为控制台 ，Errorlog为错误记录日志 ，<br />log4j.rootCategory=INFO,stdout,Runlog,Errorlog</p><p><br />#输出的appender的格式为<br />#log4j.appender.appenderName = fully.qualified.name.of.appender.class <br />#log4j.appender.appenderName.option1 = value1 <br />#log4j.appender.appenderName.option = valueN <br />#Log4j中appender支持的输出<br />#org.apache.log4j.ConsoleAppender 控制台<br />#org.apache.log4j.FileAppender 文件<br />#org.apache.log4j.DailyRollingFileAppender 每天产生一个日志文件<br />#org.apache.log4j.RollingFileAppender （文件大小到达指定尺寸的时候产生一个新的文件），<br />#org.apache.log4j.WriterAppender （将日志信息以流格式发送到任意指定的地方） <br />#org.apache.log4j.net.SMTPAppender 邮件<br />#org.apache.log4j.jdbc.JDBCAppender 数据库</p><p>＃定义输出的形式<br />log4j.appender.stdout=org.apache.log4j.ConsoleAppender<br />log4j.appender.Runlog=org.apache.log4j.DailyRollingFileAppender<br />log4j.appender.Errorlog=org.apache.log4j.DailyRollingFileAppender</p><p><br />#可以指定输出文件的优先级<br />log4j.appender.Errorlog.Threshold=ERROR</p><p>#指定输出的文件<br />log4j.appender.Runlog.File=D:\\UserInfoSyn\\WebRoot\\WEB-INF\\runlog\\runlog.log <br />log4j.appender.Errorlog.File=D:\\UserInfoSyn\\WebRoot\\WEB-INF\\errorlog\\errorlog.log </p><p><br />#Log4j的layout布局<br />#org.apache.log4j.HTMLLayout 以HTML表格形式布局<br />#org.apache.log4j.PatternLayout 可以灵活地指定布局模式<br />#org.apache.log4j.SimpleLayout  包含日志信息的级别和信息字符串<br />#org.apache.log4j.TTCCLayout    包含日志产生的时间、线程、类别等等信息</p><p>log4j.appender.stdout.layout=org.apache.log4j.PatternLayout<br />log4j.appender.Runlog.layout=org.apache.log4j.PatternLayout<br />log4j.appender.Errorlog.layout=org.apache.log4j.PatternLayout</p><p>#输出格式,log4j javadoc org.apache.log4j.PatternLayout <br />#-X号:X信息输出时左对齐；<br />#%p:日志信息级别<br /># %d{}:日志信息产生时间<br /># %c:日志信息所在地（类名）<br /># %m:产生的日志具体信息<br /># %n:%n:输出日志信息换行<br />log4j.appender.stdout.layout.ConversionPattern= %5p %d{yyyy-MM-dd HH:mm:ss} %c %m %n<br />log4j.appender.Runlog.layout.ConversionPattern= %5p %d{yyyy-MM-dd HH:mm:ss} %c %m %n<br />log4j.appender.Errorlog.layout.ConversionPattern= %5p %d{yyyy-MM-dd HH:mm:ss} %c %m %n</p><p>#指定某个包的优先级 <br />log4j.category.com.neusoft.mbip.dm.util=ERROR</p><p><br />#示例<br />###################<br /># Console Appender<br />###################<br />#log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender<br />#log4j.appender.Threshold=DEBUG<br />#log4j.appender.CONSOLE.Target=System.out<br />#log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout<br />#log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n<br />#log4j.appender.CONSOLE.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD] n%c[CATEGORY]%n%m[MESSAGE]%n%n</p><p><br />#####################<br /># File Appender<br />#####################<br />#log4j.appender.FILE=org.apache.log4j.FileAppender<br />#log4j.appender.FILE.File=file.log<br />#log4j.appender.FILE.Append=false<br />#log4j.appender.FILE.layout=org.apache.log4j.PatternLayout<br />#log4j.appender.FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n<br /># Use this layout for LogFactor 5 analysis</p><p>########################<br /># Rolling File????? RollingFileAppender??????????????????<br />########################<br />#log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender<br />#log4j.appender.ROLLING_FILE.Threshold=ERROR<br /># 文件位置<br />#log4j.appender.ROLLING_FILE.File=rolling.log<br />#log4j.appender.ROLLING_FILE.Append=true<br />#文件大小<br />#log4j.appender.ROLLING_FILE.MaxFileSize=10KB<br />#指定采用输出布局和输出格式<br />#log4j.appender.ROLLING_FILE.MaxBackupIndex=1<br />#log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout<br />#log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n</p><p>####################<br /># Socket Appender<br />####################<br />#log4j.appender.SOCKET=org.apache.log4j.RollingFileAppender<br />#log4j.appender.SOCKET.RemoteHost=localhost<br />#log4j.appender.SOCKET.Port=5001<br />#log4j.appender.SOCKET.LocationInfo=true<br /># Set up for Log Facter 5<br />#log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout<br />#log4j.appender.SOCET.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]%n%c[CATEGORY]%n%m[MESSAGE]%n%n</p><p>########################<br /># SMTP Appender<br />#######################<br />#log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender<br />#log4j.appender.MAIL.Threshold=FATAL<br />#log4j.appender.MAIL.BufferSize=10<br /><a href="mailto:#log4j.appender.MAIL.From=chenyl@hollycrm.com"><font color="#1d58d1">#log4j.appender.MAIL.From=chenyl@hollycrm.com</font></a><br />#log4j.appender.MAIL.SMTPHost=mail.hollycrm.com<br />#log4j.appender.MAIL.Subject=Log4J Message<br /><a href="mailto:#log4j.appender.MAIL.To=chenyl@hollycrm.com"><font color="#1d58d1">#log4j.appender.MAIL.To=chenyl@hollycrm.com</font></a><br />#log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout<br />#log4j.appender.MAIL.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n</p><p>########################<br /># JDBC Appender<br />#######################<br />#log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender<br />#log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/test<br />#log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver<br />#log4j.appender.DATABASE.user=root<br />#log4j.appender.DATABASE.password=<br />#log4j.appender.DATABASE.sql=INSERT INTO LOG4J (Message) VALUES ('[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n')<br />#log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout<br />#log4j.appender.DATABASE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n</p><p>########################<br /># Log Factor 5 Appender<br />########################<br />#log4j.appender.LF5_APPENDER=org.apache.log4j.lf5.LF5Appender<br />#log4j.appender.LF5_APPENDER.MaxNumberOfRecords=2000</p><p>###################<br />#自定义Appender<br />###################<br />#log4j.appender.im = net.cybercorlin.util.logger.appender.IMAppender<br />#log4j.appender.im.host = mail.cybercorlin.net<br />#log4j.appender.im.username = username<br />#log4j.appender.im.password = password<br />#log4j.appender.im.recipient = <a href="mailto:corlin@cybercorlin.net"><font color="#1d58d1">corlin@cybercorlin.net</font></a><br />#log4j.appender.im.layout=org.apache.log4j.PatternLayout<br />#log4j.appender.im.layout.ConversionPattern =[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n</p></div>
<img src ="http://www.blogjava.net/nbtymm/aggbug/73625.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nbtymm/" target="_blank">nbt</a> 2006-10-07 13:53 <a href="http://www.blogjava.net/nbtymm/archive/2006/10/07/73625.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Svn使用手记</title><link>http://www.blogjava.net/nbtymm/archive/2006/08/07/62120.html</link><dc:creator>nbt</dc:creator><author>nbt</author><pubDate>Mon, 07 Aug 2006 02:29:00 GMT</pubDate><guid>http://www.blogjava.net/nbtymm/archive/2006/08/07/62120.html</guid><wfw:comment>http://www.blogjava.net/nbtymm/comments/62120.html</wfw:comment><comments>http://www.blogjava.net/nbtymm/archive/2006/08/07/62120.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/nbtymm/comments/commentRss/62120.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nbtymm/services/trackbacks/62120.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; mso-list: l3 level1 lfo1; tab-stops: list 21.0pt">
				<span lang="EN-US" style="mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">一、</span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">软件下载并安装</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l4 level1 lfo2; tab-stops: list 18.0pt">
				<span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'">
						<span style="mso-list: Ignore">1、<span style="FONT: 7pt 'Times New Roman'">  </span></span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">服务器</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">1</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）下载</span>
				<span lang="EN-US">Subversion</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">服务器端软件，网址：</span>
				<span lang="EN-US">
						<a href="http://subversion.tigris.org/">
								<font color="#1d58d1">http://subversion.tigris.org/</font>
						</a>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。在下载页面找到</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Arial">Windows NT, 2000, XP and 2003</span>
				<span style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: 宋体; mso-bidi-font-family: Arial; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial">，</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">然后点击相关连接进入即可下载，目前最新版本是</span>
				<span lang="EN-US">svn-<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /?><st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">1.3.2</st1:chsdate>-setup.exe</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">2</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）下载后，运行</span>
				<span lang="EN-US">svn-<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">1.3.2</st1:chsdate>-setup.exe</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">直到安装成功。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l4 level1 lfo2; tab-stops: list 18.0pt">
				<span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'">
						<span style="mso-list: Ignore">2、<span style="FONT: 7pt 'Times New Roman'">  </span></span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">客户端</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">1</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）下载</span>
				<span lang="EN-US">Subversion</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span>
				<span lang="EN-US">windows</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">客户端程序</span>
				<span lang="EN-US">TortoiseSVN</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和中文语言包，网址：</span>
				<span lang="EN-US">
						<a href="http://tortoisesvn.tigris.org/">
								<font color="#1d58d1">http://tortoisesvn.tigris.org/</font>
						</a>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。目前最新版本是</span>
				<span lang="EN-US">TortoiseSVN-<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">1.3.5</st1:chsdate>.6804-svn-1.3.2.msi</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span>
				<span lang="EN-US">LanguagePack-1.3.5.6804-win32-zh_CN.exe</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">2</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">）下载后，先运行</span>
				<span lang="EN-US">TortoiseSVN-<st1:chsdate w:st="on" year="1899" month="12" day="30" islunardate="False" isrocdate="False">1.3.5</st1:chsdate>.6804-svn-1.3.2.msi</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">安装程序，完成后，提示要重启计算机，选择“否”，运行中文语言包程序完成后再重启计算机。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<span style="mso-spacerun: yes">
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; mso-list: l3 level1 lfo1; tab-stops: list 21.0pt">
				<span lang="EN-US" style="mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">二、</span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">建立版本库<br /></span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">运行</span>
				<span lang="EN-US">Subversion</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">服务器需要首先要建立一个版本库（</span>
				<span lang="EN-US">Repository</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">），可以看作服务器上存放数据的数据库，有两种方法可以建立版本库：<br /></span>
				<span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'">
						<span style="mso-list: Ignore">1、<span style="FONT: 7pt 'Times New Roman'">  </span></span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">命令行方法：在命令行模式下，运行</span>
				<span lang="EN-US">svnadmin create f:\repository</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，即可在</span>
				<span lang="EN-US">F</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">盘下创建一个版本库</span>
				<span lang="EN-US">repository</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。<br /></span>
				<span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'">
						<span style="mso-list: Ignore">2、<span style="FONT: 7pt 'Times New Roman'">  </span></span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">界面操作方法：在</span>
				<span lang="EN-US">F:\repository</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">目录下，右键，选择</span>
				<span lang="EN-US">TortoiseSVN</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下的“在此创建文件库”，文件库类型选择默认的“本地文件系统</span>
				<span lang="EN-US">(FSFS)</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">”，这样就会在该目录下创建一个版本库。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align="center">
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; mso-list: l3 level1 lfo1; tab-stops: list 21.0pt">
				<span lang="EN-US" style="mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">三、</span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">配置用户和权限</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo4; tab-stops: list 18.0pt">
				<span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'">
						<span style="mso-list: Ignore">1、<span style="FONT: 7pt 'Times New Roman'">  </span></span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在</span>
				<span lang="EN-US">F:\repository\conf\svnserve.conf</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件中去掉</span>
				<span lang="EN-US"># password-db = passwd</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">项前面的</span>
				<span lang="EN-US">#</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">号和空格（空格一定要去掉，否则会报错）。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">svnserve.conf</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件内容如下：</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">[general]</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US"># anon-access = read</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US"># auth-access = write</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US"># password-db = passwd</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US"># authz-db = authz</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US"># realm = My First Repository</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">各参数定义如下：</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 63pt; TEXT-INDENT: -63pt; mso-char-indent-count: -6.0">
				<span lang="EN-US">anon-access</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：定义非授权用户的访问权限，有三种方式：</span>
				<span lang="EN-US">none</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、</span>
				<span lang="EN-US">read</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、</span>
				<span lang="EN-US">write</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，设置为</span>
				<span lang="EN-US">none</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">限制访问，</span>
				<span lang="EN-US">read</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为只读，</span>
				<span lang="EN-US">write</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为具有读写权限，默认为</span>
				<span lang="EN-US">read</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 57.75pt; TEXT-INDENT: -57.75pt; mso-char-indent-count: -5.5">
				<span lang="EN-US">auth-access</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：定义授权用户的访问权限，有三种方式：</span>
				<span lang="EN-US">none</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、</span>
				<span lang="EN-US">read</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、</span>
				<span lang="EN-US">write</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，设置为</span>
				<span lang="EN-US">none</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">限制访问，</span>
				<span lang="EN-US">read</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为只读，</span>
				<span lang="EN-US">write</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为具有读写权限，默认为</span>
				<span lang="EN-US">write</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">password-db</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：定义保存用户名和密码的文件名称，这里为</span>
				<span lang="EN-US">passwd</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，和该文件位于同一目录。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">authz-db</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：定义保存授权信息的文件名称，这里为</span>
				<span lang="EN-US">authz</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，和该文件位于同一目录。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 36.75pt; TEXT-INDENT: -36.75pt; mso-char-indent-count: -3.5">
				<span lang="EN-US">realm</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：定义客户端连接是的“认证命名空间”，</span>
				<span lang="EN-US">Subversion</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">会在认证提示里显示，并且作为凭证缓存的关键字。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo4; tab-stops: list 18.0pt">
				<span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'">
						<span style="mso-list: Ignore">2、<span style="FONT: 7pt 'Times New Roman'">  </span></span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在</span>
				<span lang="EN-US">F:\repository\conf\ passwd</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件中去掉</span>
				<span lang="EN-US"># harry = harryssecret</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span>
				<span lang="EN-US"># sally = sallyssecret</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">两项前面的</span>
				<span lang="EN-US">#</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">号和空格。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">passwd</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件内容如下：</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">[users]</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US"># harry = harryssecret</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US"># sally = sallyssecret</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这里定义了两个用户</span>
				<span lang="EN-US">harry</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span>
				<span lang="EN-US">sally</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，用户密码分别是</span>
				<span lang="EN-US">harryssecret</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span>
				<span lang="EN-US">sallyssecret</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。同样，我们还可以定义自己的用户名和密码。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; mso-list: l3 level1 lfo1; tab-stops: list 21.0pt">
				<span lang="EN-US" style="mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">四、</span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">运行服务器</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在命令行模式下，运行</span>
				<span lang="EN-US">svnserve –d –r f:\repository</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，服务器即可启动。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: center; mso-char-indent-count: 2.0" align="center">
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; mso-list: l3 level1 lfo1; tab-stops: list 21.0pt">
				<span lang="EN-US" style="mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">五、</span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">初始文件导入<br />1、</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在我们想要做版本控制的项目根目录下，右键，选择</span>
				<span lang="EN-US">TortoiseSVN</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中的导入，</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: center; mso-char-indent-count: 2.0" align="center">
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">2、然后提示输入文件库路径，如：</span>
				<span lang="EN-US">svn://localhost/repository</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">3、确定后提示要输入用户名和密码，输入我们在</span>
				<span lang="EN-US">passwd</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件中定义的用户名和密码后（如用户名为</span>
				<span lang="EN-US">harry</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，密码为</span>
				<span lang="EN-US">harryssecret</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">），数据就导入到我们定义的版本库</span>
				<span lang="EN-US">repository</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中了。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; mso-list: l3 level1 lfo1; tab-stops: list 21.0pt">
				<span lang="EN-US" style="mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">六、</span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">客户端操作</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l2 level1 lfo5; tab-stops: list 18.0pt">
				<span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'">
						<span style="mso-list: Ignore">1、<span style="FONT: 7pt 'Times New Roman'">  </span></span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">从版本库中取出项目：</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在右键菜单中选择“</span>
				<span lang="EN-US">SVN </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">取出”，</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">然后在“文件库</span>
				<span lang="EN-US">URL</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">”一栏填写</span>
				<span lang="EN-US">Subversion</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">服务器上文件库的路径，如：</span>
				<span lang="EN-US">svn://localhost/repository</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，确定后，就可以取出文件库</span>
				<span lang="EN-US">repository</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中的文件。</span>
				<span lang="EN-US">
						<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align="center">
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l2 level1 lfo5; tab-stops: list 18.0pt">
				<span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'">
						<span style="mso-list: Ignore">2、<span style="FONT: 7pt 'Times New Roman'">  </span></span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">更新项目：</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在右键菜单中选择“</span>
				<span lang="EN-US">SVN </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">更新”就可以将文件库中最新版本的文件取到本地计算机上。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align="center">
				<span lang="EN-US">
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l2 level1 lfo5; tab-stops: list 18.0pt">
				<span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'">
						<span style="mso-list: Ignore">3、<span style="FONT: 7pt 'Times New Roman'">  </span></span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">提交修改：</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对修改过的文件确定没有问题后即可提交到文件库中，</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">确定后，即可将修改过的文件提交到版本库中。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l2 level1 lfo5; tab-stops: list 18.0pt">
				<span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'">
						<span style="mso-list: Ignore">4、<span style="FONT: 7pt 'Times New Roman'">  </span></span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">查看文件库</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">选择“文件库浏览器”菜单，就可以打开</span>
				<span lang="EN-US">Subversion</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">服务器上可见的文件库，</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">并可以对文件库中的文件及文件夹进行操作。</span>
		</p>
<img src ="http://www.blogjava.net/nbtymm/aggbug/62120.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nbtymm/" target="_blank">nbt</a> 2006-08-07 10:29 <a href="http://www.blogjava.net/nbtymm/archive/2006/08/07/62120.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Subversion安装手记</title><link>http://www.blogjava.net/nbtymm/archive/2006/06/12/52234.html</link><dc:creator>nbt</dc:creator><author>nbt</author><pubDate>Mon, 12 Jun 2006 08:18:00 GMT</pubDate><guid>http://www.blogjava.net/nbtymm/archive/2006/06/12/52234.html</guid><wfw:comment>http://www.blogjava.net/nbtymm/comments/52234.html</wfw:comment><comments>http://www.blogjava.net/nbtymm/archive/2006/06/12/52234.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/nbtymm/comments/commentRss/52234.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nbtymm/services/trackbacks/52234.html</trackback:ping><description><![CDATA[
		<h2>STEP 1:下载和安装 </h2>
		<p>首先在<a title="Subversion" href="http://subversion.tigris.org/">Subversion的官方网站</a>去下载windows安装包，最新版是1.3.1，可惜在项目树上只更新到了<a title="1.3.0的二进制包" href="http://subversion.tigris.org/files/documents/15/29065/svn-1.3.0-setup.exe">1.3.0的二进制包</a>。<br />下载后安装在本地机器上，这里注意的是最好将安装目录指定为纯英文名目录，安装在中文目录下天知道哪天会冒出一个让你想破头也想不出的错误来。<br />下载<a title="TortoiseSVN" href="http://tortoisesvn.tigris.org/">TortoiseSVN</a>进行本地安装，我安装的是最新的<a title="1.3.2 for svn 1.3.0" href="http://nchc.dl.sourceforge.net/sourceforge/tortoisesvn/TortoiseSVN-1.3.2.5840-svn-1.3.0.msi">1.3.2 for svn 1.3.0</a>，这是一个将SVN集成到windows shell中的GUI管理工具，推荐使用。<br /></p>
		<h2>STEP 2:创建储存库 </h2>
		<p>安装完TortoiseSVN后提示要重启机器，其实启不启都可以正常使用了，首先创建SVN储存库(repository)，可以选择命令行方式或者通过TortoiseSVN插件进行GUI操作，命令行运行如下：<br /></p>
		<div class="code">svnadmin create E:\svn\repository</div>
		<br />e:\svn\repository就是我指定的储存库目录，如果用GUI方式，可以在这个目录下点击右键选择[TotoiseSVN]-&gt;[Create Repository href...]进行创建，版本库模式指定为默认的即可。<br />repository创建完毕后会在目录下生成若干个文件和文件夹，dav目录是提供给Apache与mod_dav_svn使用的目录，让它们存储内部 数据；db目录就是所有版本控制的数据文件；hooks目录放置hook脚本文件的目录；locks用来放置Subversion文件库锁定数据的目录， 用来追踪存取文件库的客户端；format文件是一个文本文件，里面只放了一个整数，表示当前文件库配置的版本号；<br /><p></p><h2>STEP 3:配置 </h2><p>打开/conf/目录，打开svnserve.conf找到一下两句：<br /></p><div class="code"># [general]<br /># password-db = passwd<br /></div>去之每行开头的#，其中第二行是指定身份验证的文件名，即passwd文件<br />同样打开passwd文件，将<br /><div class="code"># [users]<br /># harry = harryssecret<br /># sally = sallyssecret<br /></div>这几行的开头#字符去掉，这是设置用户，一行一个，存储格式为“用户名 = 密码”，如可插入一行：admin = admin888，即为系统添加一个用户名为admin，密码为admin888的用户<br /><p></p><h2>STEP 4:运行SVN服务 </h2><p>在命令行执行<br /></p><div class="code">svnserve --daemon --root E:\svn\repository</div>服务启动，--daemon可简写为-d，--root可简写为-r，可以建立一个批处理文件并放在windows启动组中便于开机就运行SVN服务，或者在这个地址<a title="http://clanlib.org/~mbn/svnservice/" href="http://clanlib.org/~Embn/svnservice/">http://clanlib.org/~mbn/svnservice/</a>下载那个<a title="svnservice.exe" href="http://clanlib.org/~Embn/svnservice/SVNService.zip">svnservice.exe</a>文件，拷贝到E:\svn\bin目录下，再从命令行下执行：<br /><div class="code">svnservice -install --daemon --root "E:\svn\Repository"<br />sc config svnservice start= auto<br />net start svnservice<br /></div>此文件会将SVN变成windows系统的一个服务，并默认为自启动，注意：执行第三句时确保前面以命令行方式运行的SVN服务已经停止，如果没停止可在其窗口中按Ctrl+C中止运行。<br /><p></p><h2>STEP 5:创建项目版本树 </h2><p>确定SVN服务(命令行或windows服务)运行后，在你需要导入储存库的目录下单击右键选择[TortoiseSVN]-&gt; [Import...]，在弹开的窗口的URL框中输入 "svn://localhost/myproject" 点击 "OK" 执行导入，如果没有报错，数 据就全部加入SVN储存库目录树上了。用命令行也可以完成这些操作，这需要你在系统变量中新建一个“SVN_EDITOR”的系统变量，变量值为本地的一 个文本编辑器执行文件路径，一般指到windows的记事本上就行了 "c:\windows\notepad.exe" ，然后新开一个CMD窗口，执行 
</p><div class="code">svn mkdir svn://localhost/myproject</div>随即关闭记事本打开的log文件窗口后按"c"键继续后生成项目树。一般情况，我们在创建文件根路径后应该在创建三个目录：branches、tags、trunk，这三个目录是Subversion需要的三个目录。对于check out、commit、update等操作可以通过svn命令行方式执行，也可以用TortoiseSVN的windows菜单完成，非常简单咯。<img src ="http://www.blogjava.net/nbtymm/aggbug/52234.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nbtymm/" target="_blank">nbt</a> 2006-06-12 16:18 <a href="http://www.blogjava.net/nbtymm/archive/2006/06/12/52234.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>