??xml version="1.0" encoding="utf-8" standalone="yes"?> J2EE容器也称为J2EE服务器,大部分时它们概念是一致的?br />
J2EE容器分ؓWEB容器和EJB容器QTomcat/Resin是Web容器QJBoss是EJB容器+Web容器{,其中Web容器直接使用Tomcat实现的。所以你开发的Web应用E序可以在上面两U容器运行,而你开发的Web+EJB应用则只可以在JBoss服务器上q行Q商业品Websphere/Weblogic{和JBoss属于同一U性质?
http://www.douzhe.com/jerry/archive/archive1_cn.htm
容器Q充当中间g的角?br />
WEB容器Q给处于其中的应用程序组ӞJSPQSERVLETQ提供一个环境,使JSP,SERVLET直接更容器中的环境变量接口交互,不必x其它pȝ问题。主要有WEB服务器来实现。例如:TOMCAT,WEBLOGIC,WEBSPHERE{。该容器提供的接口严格遵守J2EE规范中的WEB APPLICATION 标准。我们把遵守以上标准的WEB服务器就叫做J2EE中的WEB容器?br />
EJB容器QEnterprise Java bean 容器。更h行业领域特色。他提供l运行在其中的组件EJB各种理功能。只要满J2EE规范的EJB攑օ该容器,马上׃被容器进行高效率的管理。ƈ且可以通过现成的接口来获得pȝU别的服务。例如邮件服务、事务管理?br />
WEB容器和EJB容器在原理上是大体相同的Q更多的区别是被隔离的外界环境。WEB容器更多的是跟基于HTTP的请求打交道。而EJB容器不是。它是更多的跟数据库、其它服务打交道。但他们都是把与外界的交互实C而减d用程序的负担。例如SERVLET不用兛_HTTP的细节,直接引用环境变量session,request,responsep、EJB不用兛_数据库连接速度、各U事务控Ӟ直接由容器来完成?br />
RMI/IIOPQ远E方法调?internet对象h中介协议Q他们主要用于通过q程调用服务。例如,q程有一台计机上运行一个程序,它提供股分析服务,我们可以在本地计机上实现对其直接调用。当然这是要通过一定的规范才能在异构的pȝ之间q行通信。RMI是JavaҎ的?br />
JNDIQJava命名目录服务。主要提供的功能是:提供一个目录系l,让其它各地的应用E序在其上面留下自己的烦引,从而满_速查扑֒定位分布式应用程序的功能?br />
JMSQJava消息服务。主要实现各个应用程序之间的通讯。包括点对点和广播?br />
JavaMAILQJava邮g服务。提供邮件的存储、传输功能。他是Java~程中实现邮件功能的核心。相当MS中的EXCHANGE开发包?br />
JTAQJava事务服务。提供各U分布式事务服务。应用程序只需调用其提供的接口卛_?br />
JAFQJava安全认证框架。提供一些安全控制方面的框架。让开发者通过各种部v和自定义实现自己的个性安全控制策略?br />
EAIQ企业应用集成。是一U概念,从而牵涉到好多技术。J2EE技术是一U很好的集成实现?br />
EJB容器
EJB容器用来容纳业务逻辑QƈZ务逻辑截取h。EJB容器支持EJB讉KJMS、JAAS、JTA、JavaMail、JAXP、JDBC和连接器QConnectorQ?
Web容器
Web容器截取通过HTTP、FTP、SMTP或其他协议发送的h。Web应用容器为Servlet和JSP面提供的资源与EJB容器提供的资源相同?
应用客户端容?
客户端应用是独立的Java应用Q它们在q程的独立JVM上运行(与Web容器和EJB容器所q行的JVM不同Q。应用客L容器些应用截取请求?
q行在应用客L容器上的E序非常cM于带有main()Ҏ的JavaE序Q不q,E序不再由JVM控制Q而是׃个容器(也就是应用客L容器Q控制?
在应用客L容器内运行的E序能够讉Kq程应用服务器上的JAXP、JDBC、JMS和JAAS资源?
Applet容器
Applet容器是一个特D的容器Q它为在览器内q行的JavaE序截取h。Applet容器不提供Q何对其他资源Q比如JDBC或JMSQ的讉K。在Applet容器内运行的Applet必须自己直接向应用服务器h资源Q而不是把h发送给容器Q然后由容器发送请求给应用服务器)?
对于Applet如何与EJB容器q行通信QEJB规范没有作出M规定Q但J2EE规范有这斚w的规定。对于那些想要直接用EJB的AppletQJ2EE规范要求它们使用HTTP隧道。许多应用服务器提供某种形式的HTTP隧道Q支持Applet直接使用EJB?/font>
]]>
http://www.zegeniestudios.net/ldc/index.php?firsttime=true
]]>
q句话是古希腊哲学家亚里士多徯的。如果说优秀是一U习惯,那么懒惰也是一U习惯。h出生的时候,除了脾气会因为天性而有所不同Q其他的东西基本都是后天形成的,是家庭媄响和教育的结果。所以,我们的一a一行都是日U月累养成的习惯。我们有的h形成了很好的习惯Q有的h形成了很坏的习惯。所以我们从现在起就要把优秀变成一U习惯,使我们的优秀行ؓ习以为常Q变成我们的W二天性。让我们习惯性地d造性思考,习惯性地去认真做事情Q习惯性地对别人友好,习惯性地ƣ赏大自然?
注解Q要会“装”,要持l的、不间断的“装”,装久了就成了真的了,成了习惯了Q比如准时到会,每次都按时到会,你装装看Q你?0q看看,装的旉长了Ş成了习惯。:Q?
W二句话是:生命是一U过E?
事情的结果尽重要,但是做事情的q程更加重要Q因为结果好了我们会更加快乐Q但q程使我们的生命充实。h的生命最后的l果一定是MQ我们不能因此说我们的生命没有意义。世界上很少有永恒。大学生谈恋爱,每天都在信誓旦旦地说我会׃一辈子Q这实际上是不真实的。统计数据表明,大学生谈恋爱?00寚w?90Ҏ后会分手Q最后结婚了的还有一半会d。你说爱情能永恒吗?所以最真实的说法是Q“我今天Q此时此L在真心地q你。”明天也怽会失恋,失恋后我们会体验到失恋的痛苦。这U体验也是丰富你生命的一个过E?
注解Q生命本w其实是没有M意义的,只是你自p予你的生命一U你希望实现的意义,因此享受生命的过E就是一U意义所在?
W三句话是:两点之间最短的距离q不一定是直线?
在h与h的关pM及做事情的过E中Q我们很隄截了当就把事情做好。我们有旉要等待,有时需要合作,有时需要技巧。我们做事情会碰到很多困隑֒障碍Q有时候我们ƈ不一定要挺、硬Ԍ我们可以选择有困隄q去Q有障碍l过去,也许q样做事情更加顺利。大家想一惻I我们和别话还得想惛_句话更好听呢。尤其在中国q个比较复杂的社会中Q大家要学会惛_法谅解别人,要让得你q个人很成熟Q很不错Q你才能把事情做成?
注解Q如果你在考数学试题,一定要{两点之间直U段最短,如果你在走\Q从A到BQ明明可以直接过去,但所有h都不赎ͼ你最好别赎ͼ因ؓ有陷阱。在中国办事情,直线性思维在很多地方要壁Q这是中国特色的中国处事方式?
W四句话是:只有知道如何停止的h才知道如何加快速度?
我在滑雪的时候,最大的体会是停不下来。我刚开始学滑雪时没有请教练Q看着别h滑雪Q觉得很ҎQ不是从山滑到山下吗Q于是我I上滑雪板,哧溜一下就滑下MQ结果我从山滑到山下,实际上是滚到׃Q摔了很多个跟斗。我发现Ҏ׃知道怎么停止、怎么保持q。最后我反复l习怎么在雪C、斜坡上停下来。练了一个星期,我终于学会了在Q何坡上停止、滑行、再停止。这个时候我发现自׃滑雪了,敢从山剙速地往山坡下冲。因为我知道只要我想停,一转np停下来。只要你能停下来Q你׃会撞上树、撞上石头、撞上hQ你׃会被撞死。因此,只有知道如何停止的hQ才知道如何高速前q?
注解Q用汽R来比喻,宝马可以?00公里Q奇瑞却只能?20公里Qؓ什么?发动Z计不怸下,差距在刹车系l,上了200公里刹不了RQ呵呵,我的天!
W五句话是:攑ּ是一U智慧,~陷是一U恩惠?
当你拥有六个Ҏ的时候,千万不要把它们都吃掉Q因Z把六个苹果全都吃掉,你也只吃C六个ҎQ只吃到了一U味道,那就是苹果的味道。如果你把六个苹果中的五个拿出来l别人吃Q尽表面上你丢了五个苹果,但实际上你却得到了其他五个h的友情和好感。以后你q能得到更多Q当别h有了别的水果的时候,也一定会和你分nQ你会从q个人手里得C个橘子,那个人手里得C个梨Q最后你可能得C六种不同的水果,六种不同的味道,六种不同的颜Ԍ六个人的友谊。h一定要学会用你拥有的东西去换取对你来说更加重要和丰富的东西。所以说Q放弃是一U智慧?
]]>
|密Ƨ与׃叶相爱,但由于双方世仇,他们的爱情遭C极力ȝ。但压迫q没有他们分手Q反而他们爱得更深Q直到殉情。这L现象我们叫它|密Ƨ与׃叶效应。所谓罗密欧与朱丽叶效应Q就是当出现q扰恋爱双方爱情关系的外在力量时Q恋爱双方的情感反而会加强Q恋爱关pM因此更加牢固?
2?从众现象
一则笑话这栯刎ͼ一日闲逛街_忽见一镉KlgQ赶紧站到队后排队,唯恐错过什么购买紧~必需品的Z。等到队伍拐q墙角,发现大家原来是排队上厕所Q才不禁哑然q。这是从众闹出的笑话。从众指个h的观念与行ؓ׃体的引导或压力Q而向与多Ch一致的方向变化的现象。用通俗的话_从众是“随大流”。可以表Cؓ在时的特定情境中对占优势的行ؓ方式的采UI也可以表Cؓ长期性的对占优势的观念与行ؓ方式的接受?
3?晕轮效应
许多青少q因崇拜某位明星的某些特征,比如长相啊,歌声啊,于是׃一切模仿明星的行ؓQ搜集他们用q的一切东ѝ这其实是晕轮效应在作怪。晕轮效应就是一U以偏概全的們Q即Z在对一个h的某U特征Ş成好的或坏的印象后,們于据此推人的其他斚w的特征。^时说的“爱屋及乌”就是晕轮效应的一个突现?
4?鲇鱼效应
水池里养着一鱼Q由于缺乏外界刺ȀQ这些鱼变得L沉沉Q容易死亡。渔民偶然把几条鲇鱼攑֜q群鱼里Q却发现一个奇怪的现象Q由于鲇鱼喜Ƣ挤来挤去,整个水池里的鱼都被带动v来而显得生机勃勃,所以渔民喜Ƣ放几条鲇鱼在里面增加全体鱼的活力与寿命?
在经、文化等zd中引入竞争机Ӟ也会产生鲇鱼效应?
5?马太效应
《圣l·马太福韟뀋有q样一则故事:一个富给他的三个仆h每h一锭银子去做生意。一q后他召集仆人想知道他们各自赚了多少Q其中第一个h赚了十锭Q第二个了五锭,最后一个h用手巑了那锭银子,捂了一q没赚一个子儿,q位富翁命令后者把那锭银子交给赚钱最多者。该书第二十五章_“凡有的Q还要加l他叫他多余Q没有的Q连他所有的也要来。?973q_国U学史研I者莫用q句话概括了一U社会心理现象:“对已有相当声誉的科学家作出的科学A献给予的荣誉来多Q而对那些未出名的U学家则不承认他们的成W。”莫将q种C会心理现象命名为“马太效应”?
6?期望效应Q皮格马利翁效应、罗塔效应)
皮格马利是古代塞路斯的一位善于雕ȝ国王Q由于他把全部热情和希望攑֜自己雕刻的少女雕像n上,后来竟ɘq雕像zMh。心理学家罗塔(R. RosenthalQ和雅各布森L. F. JacobsonQ称之ؓ“皮格马利翁效应”?
|森塔尔及其同事Q要求教师们对他们所教的学生进行智力测验。他们告诉教师们_班上有些学生属于大器晚成(lateblooming) 者,q把q些学生的名字念l老师听。罗塔认为,q些学生的学习成l可望得到改善。自从罗塔宣布大器晚成者的名单之后Q罗塔就再也没有和这些学生接触过Q老师们也再没有提赯qg事。事实上所有大器晚成者的名单Q是从一个班U的学生中随机挑选出来的Q他们与班上其他学生没有显著不同。可是当学期之末Q再ơ对q些学生q行智力验Ӟ他们的成l显著优于第一ơ测得的l果。这U结局是怎样造成的呢?|森塔尔认ؓQ这可能是因师们认些晚器大成的学生Q开始崭露头角,予以特别照顾和关怀Q以致他们的成l得以改善?
皮格马利效应和|森塔尔效应都反映了期望的作用,所以又UCؓ期望效应?
7?安慰剂效?
所谓安慰剂Q是指既无药效、又无毒副作用的中性物质构成的、ŞD的制剂。安慰剂多由葡萄p、淀_等无药理作用的惰性物质构成。安慰剂寚w些求治疗、对d人员充分信Q的病产生良好的积极反应,出现希望辑ֈ的药效,q种反应q为安慰剂效应?
使用安慰剂时Ҏ出现相应的心理和生理反应的hQ称为“安慰剂反应者”。这Uh的特ҎQ好与h交往、有依赖性、易受暗C、自信心不Q经常注意自w的各种生理变化和不适感Q有疑病們和神l质?
8?首因效应与近因效?
首因效应Qh与hW一ơ交往中给人留下的印象Q在Ҏ的头脑中形成q占据着dCQ这U效应即为首因效应?
q因效应Q与首因效应相反Q是指交往中最后一ơ见面给人留下的印象Q这个印象在Ҏ的脑中也会存留很长旉。在学习和h际交往中,q两U现象很常见?
9?霍桑效应
Z调查研究各种工作条g对生产率的媄响,国西方电器公司霍桑工厂一个大车间的六名女工被选ؓ实验的被试者。实验持l了一q多。这些女工的工作是装配电话机中的l电器。首先让她们在一个一般的车间里工作两星期Q测出她们的正常生率。然后把她们安排C个特珠的量室工作五星期Q这里除了可以测量每个女工的生情况外,其他条g都与一般R间相同,卛_作条件没有变化。接着q入W三个时期,改变了对 奛_们支付工资的Ҏ。以前女工的薪水依赖于整个R间工人的生量,现在只依赖于她们六个人的生量。在W四个时期,在工作中安排奛_上午、下午各一?分钟的工问休息。第五个时期Q把工间休息廉?0分钟。第六个时期Q徏立了六个5分钟休息旉制度。第七个时期Q公ؓ奛_提供一简单的午餐。在随后的三个时期每天让奛_提前半小时下班。第十一个时期,建立了每周工作五天的制度。最后第十二个时期,原来的一切工作条件又全恢复了Q重新回到第一个时期。老板是想通过q一实验未寻找一U提高工人生产效率的生方式。的,工作效率会受工作条g的媄响,然而,Z意料的是不管条g怎么改变Q如增加或减工间休息,廉或羃短工作日Q每一个实验时期的生率都比前一个时期要高,奛_们的工作来努力,效率来高Q根本就没关注过生条g的变化?
之所以会q样Q一个重要的原因是奛_们感到自己是Ҏ人物Q受C格外好的待遇Q她们引起了Z极大的注意,因而感到愉快,侉K照老板惌她们做的那样d。她们知道这样做主要是ؓ了测量她们的生效率Q这是h们关注的事情Q因此,生条g发生什么变化无关紧要,她们Lq些变化设想成ؓ有利的,所以,她们工作来努力,每一ơ的改变都刺Ȁ着她们L高生产效率?
通过操纵一个h的环境,让他与众人分,特别密切地关注他Q他感到很特别Q都会对他生很大的压力。如果他知道Z期望他干什么,只要没有惌拒绝的特别理由,他会一切努力按Z的期望去q好每一件事。霍桑工厂的奛_们知道自己正在被研究Q尽她们想到的q不是老板期望的,但她们会自己最大的努力产生适当的效果。所以对个h施加压力说服他去做某件事的最有效Ҏ之一是使他愉快Q向他显C出他正被关心着Q被期待看做好某件事。这在心理学上被UCؓ霍桑效应?
霍桑试验的研I结果否定了传统理理论对于人的假设Q表明了工h不是被动的、孤立的个体Q他们的行ؓ不仅仅受工资的刺ȀQ媄响生产效率的最重要因素不是待遇和工作条Ӟ而是工作中的人际关系?
]]>
]]>
http://www-128.ibm.com/developerworks/java/library/x-jaxp
Brett McLaughlin
Document Object Model (DOM)
Simple API for XML (SAX)
JDK1.4
javax.xml.parsers
javax.xml.transform
javax.xml.transform.dom
javax.xml.transform.sax
javax.xml.transform.stream
JDK5.0
javax.xml
javax.xml.datatype
javax.xml.namespace
javax.xml.parsers
javax.xml.transform
javax.xml.transform.dom
javax.xml.transform.sax
javax.xml.transform.stream
javax.xml.validation
javax.xml.xpath
严格来说Q?/span>
JAXP
q没有提供新的解?/span>
XML
的方法,但是它得我们更ҎC?/span>
DOM
或?/span>
SAX
来进行解析Q务,更能以一U?/span>
vendor-neutral
的方式来使用
DOM
?/span>
SAX
?/span>
JAXP
?/span>
SAX, DOM, JDOM
?/span>
dom4j
Q这四个都可以解?/span>
XML
Q没有可比较性,它ƈ没有提供一个新的解?/span>
XML
的方法?/span>
JAXP API, located in the
javax.xml.parsers
package. All of these classes sit on top of an existing parser.
其中?/span>
6
个类都是建立在已有的解析上面的?/span>
JDOM
?/span>
dom4j
都提供不同的模型来接受来?/span>
SAX/DOM
的数据,他们从内部来讲都是用了
SAX
Q不q是做了些修攏V?/span>
此外Q?/span>
Java 1.5
?/span>
Xerces
的包
org.apache.xerces
被放C
com.sun.org.apache.xerces.internal
First, com.sun.xml.tree.XMLDocument class is not part of JAXP. It is part of Sun's Crimson parser, packaged in earlier versions of JAXP.
Second, a major purpose of JAXP is to provide vendor independence when dealing with parsers. With JAXP, you can use the same code with Sun's XML parser, Apache's Xerces XML parser, and Oracle's XML parser.
先从
SAX
说vQ我们只用?/span>
DefaultHandler
c?/span>
(org.xml.sax.helpers
包中
)
p获得所有的
callbacks
Q只用在需要的Ҏ中加入实现的代码?/span>
Here's the typical SAX routine:
1
Q?/span>
Create a SAXParser instance using a specific vendor's parser implementation.
2
Q?/span>
Register callback implementations (by using a class that extends DefaultHandler, for example).
3
Q?/span>
Start parsing and sit back as your callback implementations are fired off.
SAX
必须
指定
XML
驱动Q如
org.apache.xerces.parsers.SAXParser
Q,?/span>
JAXP
提供了更好的选择Q只要我们提供什?/span>
XML
驱动Q在
classpath
中配|)Q它p用什么驱动,不需要改动代码?/span>
new SAXParserFactory.newSAXParser()
p?/span>
JAXP
SAXParser
c,q个cd装了
SAX parser (an instance of the SAX class
org.xml.sax.XMLReader
)
?/span>
In Listing 1, you can see that two JAXP-specific problems can occur in using the factory: the inability to obtain or configure a SAX factory, and the inability to configure a SAX parser.
The first of these problems, represented by a FactoryConfigurationError, usually occurs when the parser specified in a JAXP implementation or system property cannot be obtained.
The second problem, represented by a ParserConfigurationException, occurs when a requested feature is not available in the parser being used. Both are easy to deal with and shouldn't pose any difficulty when using JAXP.
SAXParser
?/span>
parse
Ҏ可以接受
SAX InputSource
Q?/span>
Java InputStream
或?/span>
URL in String form
可以通过
SAXParser
?/span>
getXMLReader()
Ҏ来获得底层的
SAX parser
Q?/span>
org.xml.sax.XMLReader
的实例)Q这样就可以使用各个
SAXParser
Ҏ?/span>
[
参照
Listing2]
使用
DOM
The only difference between DOM and SAX in this respect is that with DOM you substitute DocumentBuilderFactory for SAXParserFactory, and DocumentBuilder for SAXParser.
The major difference is that variations of the parse() method do not take an instance of the SAX DefaultHandler class. Instead they return a DOM Document instance representing the XML document that was parsed. The only other difference is that two methods are provided for SAX-like functionality:
The
javax.xml.transform.Source
interface is the basis for all input into JAXP and the transformation API. This interface defines only two methods --
getSystemId()
and
setSystemId(String systemId)
.
JAXP
提供了三个实?/span>
Source
接口的类Q?/span>
javax.xml.transform.dom.DOMSource
passes a DOM
Node
(and its children) into JAXP.
javax.xml.transform.sax.SAXSource
passes the results of SAX callbacks (from an
XMLReader
) into JAXP.
javax.xml.transform.stream.StreamSource
passes XML wrapped in a
File
,
InputStream
, or
Reader
into JAXP.
javax.xml.transform.Result
也有两个ҎQ?/span>
getSystemId()
?/span>
setSystemId(String systemId)
?/span>
同样有三个实现类Q?/span>
javax.xml.transform.dom.DOMResult
passes transformed content into a DOM
Node
.
javax.xml.transform.sax.SAXResult
passes the results of a transformation to a SAX
ContentHandler
.
javax.xml.transform.stream.StreamResult
passes the transformed *ML into a
File
,
OutputStream
, or
Writer
.
JAXP this way has two significant limitations:
Transformer
object processes the XSL stylesheet each and every time
transform()
is executed.
Transformer
are not thread-safe. You can't use the same instances across multiple threads.
Transformer
实例不是U程安全的,不能通过多线E去使用同一?/span>
Transformer
实例?/span>
javax.xml.transform.Templates
.
The
Templates
interface is thread-safe (addressing the second limitation) and represents a compiled stylesheet (addressing the first limitation).
Templates
实例是线E安全的Q可以处理一?/span>
XSL
Q解决了上述两个限制?/span>
如果只要对一?/span>
stylesheet
q行一?/span>
transformation
Q那么用
Transformer
比较快,没有必要选择
Templates
对象。但是考虑到线E安全问题,q是推荐使用
Templates
?/span>
JAXP
默认使用
Xalan-J
Q如果要使用其它
parser
Q可以通过
javax.xml.transform.TransformerFactory
修改?/span>
java -D javax.xml.transform.TransformerFactory=[transformer.impl.class] TestTransformations
simple.xml simple.xsl
http://sourceforge.net/docman/display_doc.php?docid=31070&group_id=1
Subversion
官方|站Q查?/span>
http://subversion.tigris.org/
ƣ慰的是q里有个|站提供一本免费的、非常棒?/span>
SVN
图书Q可以选择在线查看或者下?/span>
PDF
Q?/span>
SVN
使用者必诅R?/span>
http://svnbook.red-bean.com/
各个版本控制pȝ功能比较的文?/span>
http://better-scm.berlios.de/comparison/comparison.html
Subversion
使用手记
中文英文对照
http://robinlet.bokee.com/2866408.html
一文章介l如何将
CVS
?/span>
Repository
转换?/span>
SNV
转换Ҏ来自q个E序
http://cvs2svn.tigris.org/
官方的那本书是最好的教程Q网上还有大量的安装和用的文章可以借鉴Q这里简单罗列几?/span>
SVN
辅助的YӞ
1
?/span>
SubVersion
Q从
http://subversion.tigris.org/
下蝲Q是实现服务pȝ的YӞ必装的?/span>
2
?/span>
TortoiseSVN
Q从
http://tortoisesvn.tigris.org/
下蝲Q是很不错的
SVN
客户端程序,?/span>
windows
外壳E序集成?/span>
windows
资源理器和文g理pȝ?/span>
Subversion
客户端,用v来很方便?/span>
3
?/span>
SVNService.exe
Q从
http://dark.clansoft.dk/~mbn/svnservice/
下蝲Q是专ؓ
SubVersion
开发的一个用来作?/span>
Win32
服务挂接的入口程序?/span>
4
?/span>
AnkhSVN
Q从
http://ankhsvn.tigris.org/
下蝲Q这是一个专?/span>
Visual Studio
提供
SVN
的插件?/span>
5
?/span>
Subversive
Q从
http://www.polarion.org/p_subversive.php
下蝲Q一个ؓ
Eclipse
提供
SVN
的插Ӟ据说已经?/span>
Eclipse
自带?/span>
CVS
功能有一拹{?/span>
6
、还有很多很?/span>
SVN
相关的工具以及?/span>
TIP
介绍Q大家可以上官方的相关链接页面中查看Q地址Q?/span>
http://subversion.tigris.org/links.html
Linux
下Y件的安装主要有三U不同的形式?/span>
W一U安装文件名?/span>
xxx.tar.gz
Q?/span>
W二U安装文件名?/span>
xxx.i386.rpm
Q?/span>
q有一U是
xxx.src.rpm
?/span>
以第一U方式发行的软g多ؓ以源码Ş式发送的Q?/span>
W二U方式则是直接以二进制Ş式发送的Q?/span>
W三U是
rpm
格式发布的源码?/span>
对于W一U?/span>
[xxx.tar.gz]
Q安装方法如下:
1 .
首先Q将安装文g拯至你的目录中。例如,如果你是?/span>
root
w䆾d上的Q就Y件拷贝至
/root
中?/span>
#cp xxx.tar.gz /root
2 .
׃该文件是被压~ƈ打包?/span>
,
应对其解压羃。命令ؓQ?/span>
#tar xvzf filename.tar.gz
3.
执行该命令后Q安装文件按路径Q解压羃在当前目录下。用
ls
命o可以看到解压~后的文件。通常在解压羃后生的文g中,?/span>
“Install?/span>
的文件。该文g为纯文本文gQ详l讲qC该Y件包的安装方法?/span>
4.
执行解压~后产生的一个名?/span>
configure
的可执行脚本E序。它是用于检查系l是否有~译时所需的库Q以及库的版本是否满编译的需要等安装所需要的pȝ信息。ؓ随后的编译工作做准备。命令ؓQ?/span>
#./configure
5.
查通过后,生成用于编译的
MakeFile
文g。此Ӟ可以开始进行编译了。编译的q程视Y件的规模和计机性能的不同,所耗费的时间也不同。命令ؓQ?/span>
#make
?/span>
6.
成功~译后,键入如下的命令开始安装:
#make install
7.
安装完毕Q应清除~译q程中生的临时文g和配|过E中产生的文件。键入如下命令:
#make clean
#make distclean
xQY件的安装l束?/span>
对于W二U?/span>
[xxx.i386.rpm]
Q其安装Ҏ要简单得多?/span>
同第一U方式一P安装文件拷贝至你的目录中。然后?/span>
rpm
来安装该文g。命令如下:
#rpm -i filename.i386.rpm
rpm
自动将安装文g解包QƈY件安装到~省的目录下。ƈY件的安装信息注册?/span>
rpm
的数据库中。参?/span>
i
的作用是?/span>
rpm
q入安装模式?/span>
软g的卸?/span>
1.
软g的卸载主要是使用
rpm
来进行的。卸载Y仉先要知道软g包在pȝ中注册的名称。键入命令:
#rpm -q -a
卛_查询到当前系l中安装的所有的软g包?/span>
2.
定了要卸蝲的Y件的名称Q就可以开始实际卸载该软g了。键入命令:
#rpm -e [package name]
卛_卸蝲软g。参?/span>
e
的作用是?/span>
rpm
q入卸蝲模式。对名ؓ
[package name]
的Y件包q行卸蝲。由于系l中各个软g包之间相互有依赖关系。如果因存在依赖关系而不能卸载,
rpm
给予提Cƈ停止卸蝲。你可以使用如下的命令来忽略依赖关系Q直接开始卸载:
#rpm -e [package name] -nodeps
忽略依赖关系的卸载可能会Dpȝ中其它的一些Y件无法?/span>
对于W三U?/span>
[xxx.src.rpm]
Q安装也很简?/span>
拯到目标目录,然后执行
#rpmbuild --rebuild xxx.src.rpm
~译文g
然后q入
#cd /usr/src/redhat(or other)/RPMS/i386/
执行
#rpm -ivh xxxxx.rpm
安装
上面的方法是?/span>
Redhat 8.0
以及
Mandrake9.0
来说的,如果是低于这个版本。应该用
#rpm --rebuild *.src.rpm