锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产日韩精品在线,亚洲成国产人片在线观看,亚洲国产电影http://www.aygfsteel.com/haogj/zh-cnWed, 18 Jun 2025 00:57:58 GMTWed, 18 Jun 2025 00:57:58 GMT60鍦‵edora 5涓畨瑁匳mware Toolshttp://www.aygfsteel.com/haogj/archive/2006/09/17/70110.htmlhaogjhaogjSun, 17 Sep 2006 01:43:00 GMThttp://www.aygfsteel.com/haogj/archive/2006/09/17/70110.htmlhttp://www.aygfsteel.com/haogj/comments/70110.htmlhttp://www.aygfsteel.com/haogj/archive/2006/09/17/70110.html#Feedback0http://www.aygfsteel.com/haogj/comments/commentRss/70110.htmlhttp://www.aygfsteel.com/haogj/services/trackbacks/70110.htmlhttp://blog.csdn.net/freewind88/archive/2006/07/17/931666.aspx

鐢變簬FC5綆楁槸姣旇緝鏂扮殑涓€涓狶inux鐗堟湰錛堢幇鍦‵C6鐨凾est1鍒氬彂甯冿級錛屾墍浠mware錛堟垜鐢ㄧ殑鐗堟湰鍙鋒槸5.5.1 build-19175錛屽啓榪欑瘒鏂囩珷鏃舵槸鏈€鏂扮殑鐗堟湰錛夎繕娌℃湁鐩存帴鏀寔FC5鐨刅mware Tools瀹夎銆備負(fù)浜嗘紜畨瑁匜edora鍜孷mware Tools錛屾垜鍦ㄩ噷闈㈢紶浜嗗嚑澶╃殑鏃墮棿錛屾湁鏃剁殑紜瘮杈冮儊闂楓€傜幇鍦ㄦ妸鍑犱釜鍏抽敭鐐規(guī)€葷粨涓€涓嬶紝鏂逛究鍚庢潵浜哄弬鐓с€?br />1.瀹夎FC5鏃墮€夋嫨Linux鐗堟湰鍙鋒椂閫塕ed Hat Enterprise Linux 4錛屽鏋滈€夋嫨鍏跺畠鐗堟湰鍙兘浼?xì)閫犳垚FC瀹夎鏂囦歡鎵句笉鍒扮‖鐩橈紝榪欐槸鐢變簬Vmware榛樿鎺ㄨ崘浣跨敤铏氭嫙SCSI紜洏錛岃€屽叾瀹冪増鏈琇inux閰嶇疆娌℃湁涓篠CSI紜洏璁劇疆椹卞姩銆傝В鍐蟲柟娉曢潪甯哥畝鍗曪紝鍙鍦ㄥ畨瑁呰繃紼嬫彁紺烘坊鍔犺澶囨椂閫夋嫨娣誨姞Buslogic灝辮浜嗐€備釜浜烘劅瑙夎繕鏄嬌鐢ㄨ嚜瀹氫箟閰嶇疆鍚戝姣旇緝濂斤紝寰堝鍦版柟閮藉彲浠ヨ嚜宸辮皟鏁磋緗€?br />2.瀹夎Vmware Tools闇€瑕佺殑涓€浜涘繀瑕佽蔣浠躲€?br />瀹夎緙栬瘧宸ュ叿錛歽um -y install gcc gcc-c++ kernel-devel
鏇存柊kernel錛歽um -y update kernel
媯€鏌ワ細(xì)rpm -qa | grep kernel
鏇存柊瀹屽悗閲嶅惎涓€涓嬶紝浣挎洿鏂扮敓鏁堛€?br />涔嬫墍浠ヨ涓嬭澆鏇存柊榪欎箞澶氫笢瑗挎槸鍥犱負(fù)FC5鏈変釜寰堝鎬殑鐜拌薄錛屽湪瀹夎鏃舵垜宸茬粡鍕鵑€変簡鍏ㄩ儴寮€鍙戝伐鍏鳳紝浣嗘槸鍚庢湡瀹冭繕鏄細(xì)鎻愮ず鎵句笉鍒板尮閰嶄綘鍐呮牳鐨凜澶存枃浠躲€傛彁紺哄涓嬨€備及璁″ぇ澶氭暟浜洪兘鏄崱鍦ㄨ繖錛岀湅瑙佽繖鍙ヨ瘽鑲畾宸茬粡寰堢獫鐏簡
What is the location of the directory of C header files that match your running kernel? [/usr/src/linux/include]
The path "/usr/src/linux/include" is not an existing directory.
鏁翠釜涓嬭澆榪囩▼闈炲父鎱紝鍙兘鏄敱浜庢垜鏄甯︿笖榪炲埌鍥藉鏈嶅姟鍣ㄤ笅杞斤紝鏇存柊瀹屽ぇ姒傝€楀幓浜嗘垜涓€涓櫧澶╃殑鏃墮棿銆傚彲浠ラ€氳繃yum鐨勯厤緗枃浠訛紝璁劇疆闀滆薄鏈嶅姟鍣ㄦ潵鏀硅繘涓嬭澆閫熷害錛屽叿浣撴柟娉曞氨瑕佸悇浣嶈嚜宸變笂緗戞煡浜嗭紝鍋朵笉浼?
3.瀹夎Vmware Tools錛屾鏃朵細(xì)琚崱鍦ㄤ笂闈㈡墍璇寸殑緙哄皯澶存枃浠剁殑閭d竴姝ワ紝涓嶇敤綆″畠錛孋trl+C涓柇瀹夎銆?br />4.鍘?a >http://ftp.cvut.cz/vmware/涓嬭澆鏇存柊
鎴戜笅杞芥椂鏈€鏂扮殑琛ヤ竵鏄痸mware-any-any-update101.tar.gz銆?br />瑙e帇緙╃劧鍚庢墽琛岋細(xì)./runme.pl
鎺ョ潃涓€璺収榛樿璁劇疆瀹夎涓嬪幓灝眔k浜嗐€?br />Vmware Tools瀹夎瀹屾垚錛岀粓浜庡彲浠ョ湅瑙佸叡浜枃浠跺す浜嗐€傚叾瀹炲畨瑁匳mware Tools涓€鏂歸潰鏄負(fù)浜嗘敼鍠勬樉紺猴紝浣嗗湪FC5涓€掑ソ鍍忎篃鏃犳墍璋擄紝鍥犱負(fù)瀹冨湪铏氭嫙鏈洪噷鐩存帴灝辮兘璋冨埌1024鐨勫垎杈ㄧ巼錛屾樉紺烘甯革紝涓嶅鍓嶉潰鐨勫嚑涓増鏈紝鍦ㄦ垜鏈哄瓙涓婂彧瑕佸垎杈ㄧ巼璋冮珮鏄劇ず灝變笉姝e父錛屼細(xì)鑷姩鍒囨崲鍥炴潵銆傚彟涓€鏂歸潰涓昏榪樻槸涓轟簡瑕侀偅涓叡浜枃浠跺す錛岃繖鏍峰拰W(xué)indows浜ゆ崲鏂囦歡鏃跺氨鏂逛究浜嗐€?

BTW錛氭湰鏂囧弬鑰冧簡緗戜笂鐨勮澶氭枃鐚紝瀵逛綔鑰呬滑琛ㄧず鎰熻阿



haogj 2006-09-17 09:43 鍙戣〃璇勮
]]>
VMware, Fedora 5 瀹夎闂http://www.aygfsteel.com/haogj/archive/2006/09/17/70109.htmlhaogjhaogjSun, 17 Sep 2006 01:34:00 GMThttp://www.aygfsteel.com/haogj/archive/2006/09/17/70109.htmlhttp://www.aygfsteel.com/haogj/comments/70109.htmlhttp://www.aygfsteel.com/haogj/archive/2006/09/17/70109.html#Feedback1http://www.aygfsteel.com/haogj/comments/commentRss/70109.htmlhttp://www.aygfsteel.com/haogj/services/trackbacks/70109.html
http://www.5ang1ou.com/2006/03/26/vmware-fedora-5/
11:56 pm on Sunday, March 26, 2006

鏃╀簺娌¤刀涓奆edora 5鐨勫彂甯冿紝浠婂ぉ鐗瑰湴涓嬭澆涓嬫潵鐜╃帺錛屾暣涓狣VD紕?.5G錛屼笓闂ㄥ幓瀛︽牎鑺變簡鍗婁釜灝忔椂鎷栦簡涓嬫潵錛屽啀浠庡伐浣滈偅澶寸獌鍙栦竴寮犲厜紕熷埢褰曘€傚洖鏉ュ悗绔嬮┈寮€鍔╒mware鏉ュ畨瑁呫€傚偦鐡滅晫闈紝瀹屽叏鍥劇墖鎻愮ず錛屾湰鎯崇潃鍙互欏哄埄鏀跺伐銆傜粨鏋滄悳绱㈠畬紜歡鍚庣獊鐒舵彁紺鴻紜洏鎵句笉鍒幫紝緇欎簡涓や釜閫夐」錛屼竴鎵嬪姩瀹夎錛屼竴璺寵繃緇х畫銆傚績鎯充及璁mware鐨勯┍鍔ㄦ病瑁咃紝涓嶆槸浠€涔堝ぇ闂錛屽氨閫変簡璺寵繃緇х畫銆傜粨鏋滃埌鏈€鍚庤繕鏄彁紺鴻紓佺鎵句笉鍒幫紝鐒跺悗灝遍噸鍚簡銆傞儊闂鳳紝鍐嶆潵錛岃繖嬈¢€変釜鎵嬪姩瀹夎錛岃繘鍏ュ垪琛ㄥ悗鍗存閮芥壘涓嶅埌椹卞姩鐨勯┍鍔ㄣ€傜瀻鎾炰簡涓€鍣ㄤ貢瑁呬簡涓€閫氾紝鏈€鍚庡埌浜嗗畨瑁呯敾闈㈠張琚脊浜嗗洖鏉ャ€傚績鎯寵繖鍘拫閭e彉鎬佷箿錛屽喅瀹氫笂緗戜竴鎺㈢┒绔熴€傚幓綰㈠附鐨勪富欏墊綔浼忎簡鍗婂ぉ錛岀粓浜庡彂鐜頒竴鏉$嚎绱紝璇存槸Fedora 5寮€濮嬪氨涓嶆敮鎸丅us Logic浜嗭紝鏀逛負(fù)浠呮敮鎸丩si Logic銆傜獊鐒墮棿鑼呭欏垮紑錛屾亶鐒跺ぇ鎮(zhèn)燂紝鍘熸潵濡傛錛屽洖鍒癡mware閲岄潰錛屼互鑷畾涔夌殑鏂瑰紡閫変簡Lsi Logic浣滀負(fù)紜洏妯″紡錛岄噸鍚竴璇曪紝鍢匡紝閫氳繃浜嗭紝璧炲晩銆傝嚦浜庤繖涓ょlogic涔嬮棿鏈夎櫨綾充笉鍚岋紝鍋跺氨涓嶅幓榪界┒浜嗭紝榪欎簺鐜╂剰榪樻槸鐣欑粰楂樹漢鏉ユ帰璁ㄦ瘮杈冨悎閫傦紝鍋惰繖縐嶅簳灞傜敤鎴峰彧瑕佽兘鐢ㄥ氨婊¤凍鍜€備竷瑁呭叓鍑戠殑緇堜簬鎶奆edora 5瑁呭ソ浜嗭紝綆楁槸瀹屽叏璧よ8瀹夎錛屼笂闈㈤櫎浜咾DE灝卞暐閮芥病鏈夈€傝緗ソY(jié)um鍚庡氨寮€濮嬮仴閬ユ棤鏈熺殑鏇存柊涓紝鐜板湪榪樺湪鐩潃閭d釜鍜〃鐪嬨€傛劅瑙変笂Fedora 5璺戝緱姣?瑕佹參鍐欙紝鎴戝嚑涔庢墍鏈夌殑鏈嶅姟閮藉睆钄戒簡錛岃繕鏄劅瑙夊鐞嗙殑鏃墮棿瑕侀暱鍐欙紝涔熻鏄伓閫変簡i386鑰屼笉鏄疿86_64鐨勭紭鏁咃紵



vmtools 鐨勯棶棰?br />http://www.5ang1ou.com/2006/03/27/vmware-tool/


緇х畫鏄ㄥぉ鐨勫鏂楋紝浠婂ぉ瑁呭畬 Fedora 5 鍚庡噯澶囪 Vmware Tool 鐨勬椂鍊欏張鍑虹幇闂銆俈mware Tool榪欎釜涓滆タ欏懼悕鎬濅箟鍦板氨鏄負(fù)浜哣mware榪欎釜杞歡鎵嶅瓨鍦ㄥ湴錛屾湁浜嗗畠浣犵殑linux灝卞彲浠ヨ瀹氭樉紺哄ぇ灝忥紝鍐呭瓨浼樺寲鍜屽叾浠栭紶鏍囬敭鐩樼瓑浼樺寲璁劇疆銆備笉瑁?Vmware Tool 鐨勮瘽榧犳爣灝變細(xì)琚攣瀹氬湪Vmware 紼嬪簭閲岄潰錛岃鍒囨崲鍑烘潵闈炲父楹葷儲錛岃浜嗕互鍚庡彧瑕佺Щ鍒拌竟涓婂氨鑷繁寮瑰嚭鏉ヤ簡錛屽洖鍘諱篃涓€鏍鳳紝縐誨埌杈逛笂灝辮嚜宸卞脊榪涘幓浜嗐€備篃璁告槸 Fedora 5 澶柊鐨勭紭鏁咃紝Vmware Tool 姝繪椿閮借涓嶈繘鍘匯€備竴寮€濮嬭鎵句笉鍒?kernel 鐨勬簮鏂囦歡錛屽畨瑁呬簡浠ュ悗鍙堣鏂囦歡鐗堟湰涓嶅鍙楓€傚幓 Vmware 鐨勫畼鏂硅鏁欙紝鍙戠幇鏈夐棶棰樼殑涓嶆鍋朵竴涓紝鍑犱箮鎵€鏈夎浜?Fedora 5 鐨勯兘紕拌浜嗐€傞殢鍚庡彂鐜頒竴杈句漢鍙戜簡涓€瑙e喅鍔炴硶鐨勫笘瀛愶紝欏挎椂鏁話璧鋒潵錛岀劧鍚庨┈涓婅繘鍘婚《涓€涓『渚跨暀鍚嶃€備粬鐢ㄤ簡涓涓夋柟琛ヤ竵鑴氭湰錛岃 Vmware Tool 鐨勬嫻嬬▼搴忛€氳繃鐗堟湰渚︽祴銆傝繖涓▼搴忓湪榪欓噷鍙互涓嬪埌錛岃В鍘嬪悗闇€瑕佸 runme.pl 鑴氭湰榪涜淇敼錛岀劧鍚庤繍琛岋紝榪愯瀹屾瘯浠ュ悗鍐嶆潵榪愯 Vmware Tool 鐨勮瀹氬畨瑁呯▼搴忓氨鍙互浜嗐€?/p>

涓€鍒囬兘铔『鍒╃殑錛屽彲鏄紪璇戝埌鏈€鍚庡嚭鐜?鈥淣o X Install Found鈥?鐨勯敊璇紝榪欎笅榪炴樉紺哄ぇ灝忛兘娌″緱閫変簡銆傜戶緇壘浜烘眰鏁戯紝緇堜簬鏈夊ソ蹇冧漢鎸囦簡鏉¤礬銆傚師鏉?Fedora 5 鐢ㄤ簡 X7鐗堟湰錛岃€孷mware Tool 媯€嫻嬩笉鍒拌繖涓紝鎵€浠ヨ涓烘病鏈塜銆傝В鍐蟲柟娉曞綋鐒墮櫎浜嗕慨鏀硅剼鏈病鍏朵粬鍔炴硶鍜€傝淇敼鐨勫湴鏂規(guī)毚澶氾紝涔熶貢鐨勫緢錛岄兘鍦?vmware-config-tools.pl 閲岄潰銆傚ソ鍦ㄥ伓寰堝垢榪愶紝涓€嬈¤繃閫氳繃緙栬瘧錛屾垚鍔熸嫻嬪埌 X7錛屼篃欏哄埄鍦版洿鏀逛簡鏄劇ず澶у皬銆備粖澶╃壒姝ょ暀涓嬫璐寸粰鑷繁浠ュ悗鏌ヨ處鐢紝涓嬮潰緇欏嚭浜嗛渶瑕佷慨鏀圭殑涓や釜鏂囦歡涓嬭澆錛岃鐩栬繍琛屽氨鍙互浜嗐€傜埥銆?/p>

[ runme.pl ] [ vmware-config-tools.pl ]



haogj 2006-09-17 09:34 鍙戣〃璇勮
]]>
鍒╃敤JSP 2.0寮€鍙慦eb搴旂敤紼嬪簭http://www.aygfsteel.com/haogj/archive/2006/07/06/57046.htmlhaogjhaogjThu, 06 Jul 2006 14:44:00 GMThttp://www.aygfsteel.com/haogj/archive/2006/07/06/57046.htmlhttp://www.aygfsteel.com/haogj/comments/57046.htmlhttp://www.aygfsteel.com/haogj/archive/2006/07/06/57046.html#Feedback0http://www.aygfsteel.com/haogj/comments/commentRss/57046.htmlhttp://www.aygfsteel.com/haogj/services/trackbacks/57046.htmlhttp://www.phome.net/document/java/200504/java111245789013746.html

haogj 2006-07-06 22:44 鍙戣〃璇勮
]]>
浣跨敤 Java 鐢熸垚 MD5 緙栫爜http://www.aygfsteel.com/haogj/archive/2006/07/04/56604.htmlhaogjhaogjTue, 04 Jul 2006 14:25:00 GMThttp://www.aygfsteel.com/haogj/archive/2006/07/04/56604.htmlhttp://www.aygfsteel.com/haogj/comments/56604.htmlhttp://www.aygfsteel.com/haogj/archive/2006/07/04/56604.html#Feedback10http://www.aygfsteel.com/haogj/comments/commentRss/56604.htmlhttp://www.aygfsteel.com/haogj/services/trackbacks/56604.html聽聽聽 MD5鍗矼essage-Digest Algorithm 5錛堜俊鎭?鎽樿綆楁硶5錛夛紝鏄竴縐嶇敤浜庝駭鐢熸暟瀛楃鍚嶇殑鍗曢」鏁e垪綆楁硶錛屽湪1991騫寸敱MIT Laboratory for Computer Science錛圛T璁$畻鏈虹瀛﹀疄楠屽錛夊拰RSA Data Security Inc錛圧SA鏁版嵁瀹夊叏鍏徃錛夌殑Ronald L. Rivest鏁欐巿寮€鍙戝嚭鏉ワ紝緇忕敱MD2銆丮D3鍜孧D4鍙戝睍鑰屾潵銆侻D5綆楁硶鐨勪嬌鐢ㄤ笉闇€瑕佹敮浠樹換浣曠増鏉冭垂鐢ㄣ€傚畠鐨勪綔鐢ㄦ槸璁╁ぇ瀹歸噺淇℃伅鍦ㄧ敤鏁板瓧絳懼悕杞歡絳劇浜哄瘑鍖欏墠琚?鍘嬬緝"鎴愪竴縐嶄繚瀵嗙殑鏍煎紡錛堝皢涓€涓換鎰忛暱搴︾殑鈥滃瓧鑺備覆鈥濋€氳繃涓€涓笉鍙€嗙殑瀛楃涓插彉鎹㈢畻娉曞彉鎹㈡垚涓€涓?28bit鐨勫ぇ鏁存暟錛屾崲鍙ヨ瘽璇村氨鏄紝鍗充嬌浣犵湅鍒版簮紼嬪簭鍜岀畻娉曟弿榪幫紝涔熸棤娉曞皢涓€涓狹D5鐨勫€煎彉鎹㈠洖鍘熷鐨勫瓧絎︿覆錛屼粠鏁板鍘熺悊涓婅錛屾槸鍥犱負(fù)鍘熷鐨勫瓧絎︿覆鏈夋棤絀峰涓紝榪欐湁鐐硅薄涓嶅瓨鍦ㄥ弽鍑芥暟鐨勬暟瀛﹀嚱鏁般€傦級
聽聽聽
聽聽 鍦?Java 涓紝java.security.MessageDigest 涓凡緇忓畾涔変簡 MD5 鐨勮綆楋紝鎵€浠ユ垜浠彧闇€瑕佺畝鍗曞湴璋冪敤鍗沖彲寰楀埌 MD5 鐨?28 浣嶆暣鏁般€傜劧鍚庡皢姝?128 浣嶈 16 涓瓧鑺傝漿鎹㈡垚 16 榪涘埗琛ㄧず鍗沖彲銆?br />
聽聽聽 浠g爜濡備笅錛?br />

package com.tsinghua;

/**
聽* MD5鐨勭畻娉曞湪RFC1321 涓畾涔?br />聽* 鍦≧FC 1321涓紝緇欏嚭浜員est suite鐢ㄦ潵媯€楠屼綘鐨勫疄鐜版槸鍚︽紜細(xì)
聽* MD5 ("") = d41d8cd98f00b204e9800998ecf8427e
聽* MD5 ("a") = 0cc175b9c0f1b6a831c399e269772661
聽* MD5 ("abc") = 900150983cd24fb0d6963f7d28e17f72
聽* MD5 ("message digest") = f96b697d7cb7938d525a2f31aaf161d0
聽* MD5 ("abcdefghijklmnopqrstuvwxyz") = c3fcd3d76192e4007dfb496cca67e13b
聽*
聽* @author haogj
聽*
聽* 浼犲叆鍙傛暟錛氫竴涓瓧鑺傛暟緇?br />聽* 浼犲嚭鍙傛暟錛氬瓧鑺傛暟緇勭殑 MD5 緇撴灉瀛楃涓?br />聽*/
public class MD5 {
聽public static String getMD5(byte[] source) {
聽聽String s = null;
聽聽char hexDigits[] = { 聽聽聽聽聽聽// 鐢ㄦ潵灝嗗瓧鑺傝漿鎹㈡垚 16 榪涘埗琛ㄧず鐨勫瓧絎?br />聽聽聽聽 '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd',聽 'e', 'f'};
聽聽 try
聽聽 {
聽聽聽 java.security.MessageDigest md = java.security.MessageDigest.getInstance( "MD5" );
聽聽聽 md.update( source );
聽聽聽 byte tmp[] = md.digest();聽聽聽聽聽聽聽聽聽聽// MD5 鐨勮綆楃粨鏋滄槸涓€涓?128 浣嶇殑闀挎暣鏁幫紝
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽// 鐢ㄥ瓧鑺傝〃紺哄氨鏄?16 涓瓧鑺?br />聽聽聽 char str[] = new char[16 * 2];聽聽聽// 姣忎釜瀛楄妭鐢?16 榪涘埗琛ㄧず鐨勮瘽錛屼嬌鐢ㄤ袱涓瓧絎︼紝
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽// 鎵€浠ヨ〃紺烘垚 16 榪涘埗闇€瑕?32 涓瓧絎?br />聽聽聽 int k = 0;聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽// 琛ㄧず杞崲緇撴灉涓搴旂殑瀛楃浣嶇疆
聽聽聽 for (int i = 0; i < 16; i++) {聽聽聽聽聽聽聽聽聽聽// 浠庣涓€涓瓧鑺傚紑濮嬶紝瀵?MD5 鐨勬瘡涓€涓瓧鑺?br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽// 杞崲鎴?16 榪涘埗瀛楃鐨勮漿鎹?br />聽聽聽聽 byte byte0 = tmp[i];聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽// 鍙栫 i 涓瓧鑺?br />聽聽聽聽 str[k++] = hexDigits[byte0 >>> 4 & 0xf]; 聽// 鍙栧瓧鑺備腑楂?4 浣嶇殑鏁板瓧杞崲,聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽// >>> 涓洪€昏緫鍙崇Щ錛屽皢絎﹀彿浣嶄竴璧峰彸縐?br />聽聽聽聽 str[k++] = hexDigits[byte0 & 0xf];聽聽聽聽聽聽聽聽聽聽聽聽// 鍙栧瓧鑺備腑浣?4 浣嶇殑鏁板瓧杞崲
聽聽聽 }
聽聽聽 s = new String(str);聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽// 鎹㈠悗鐨勭粨鏋滆漿鎹負(fù)瀛楃涓?/p>

聽聽 }catch( Exception e )
聽聽 {
聽聽聽 e.printStackTrace();
聽聽 }
聽聽 return s;
聽}
}


聽聽聽 嫻嬭瘯浠g爜濡備笅錛?br />

import com.tsinghua.*;

public class TestMD5
{
聽public static void main( String xu[] )
聽{聽// 璁$畻 "a" 鐨?MD5 浠g爜錛屽簲璇ヤ負(fù)錛?cc175b9c0f1b6a831c399e269772661
聽 System.out.println( MD5.getMD5("a".getBytes()) );
聽}
}




haogj 2006-07-04 22:25 鍙戣〃璇勮
]]>
褰誨簳瑙e喅 Tomcat 5 涓嬫枃瀛椾貢鐮侀棶棰?/title><link>http://www.aygfsteel.com/haogj/archive/2006/06/25/55017.html</link><dc:creator>haogj</dc:creator><author>haogj</author><pubDate>Sun, 25 Jun 2006 14:04:00 GMT</pubDate><guid>http://www.aygfsteel.com/haogj/archive/2006/06/25/55017.html</guid><wfw:comment>http://www.aygfsteel.com/haogj/comments/55017.html</wfw:comment><comments>http://www.aygfsteel.com/haogj/archive/2006/06/25/55017.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.aygfsteel.com/haogj/comments/commentRss/55017.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/haogj/services/trackbacks/55017.html</trackback:ping><description><![CDATA[<P>浣跨敤 tomcat 鏃訛紝鐩鎬俊澶у閮藉洖閬囧埌涓枃涔辯爜鐨勯棶棰橈紝鍏蜂綋琛ㄧ幇涓洪€氳繃琛ㄥ崟鍙栧緱鐨勪腑鏂囨暟鎹負(fù)涔辯爜銆?BR><BR><STRONG>涓€銆佸垵綰цВ鍐蟲柟娉?/STRONG><BR><BR>閫氳繃涓€鐣绱㈠悗錛岃澶氫漢閲囩敤浜嗗涓嬪姙娉曪紝棣栧厛瀵瑰彇寰楀瓧絎︿覆鎸夌収 iso8859-1 榪涜瑙g爜杞崲錛岀劧鍚庡啀鎸夌収 gb2312 榪涜緙栫爜錛屾渶鍚庡緱鍒版紜殑鍐呭銆傜ず渚嬩唬鐮佸涓嬶細(xì)<BR><BR>String  para = new String( request.getParameter("para").getBytes("iso8859-1"), "gb2312");<BR><BR>鍏蜂綋鐨勫師鍥犳槸鍥犱負(fù)緹庡浗浜哄湪鍐?tomcat 鏃墮粯璁や嬌鐢?iso8859-1 榪涜緙栫爜閫犳垚鐨勩€?BR><BR> 鐒惰€岋紝鍦ㄦ垜浠殑 servlet 鍜?jsp 欏甸潰涓湁澶ч噺鐨勫弬鏁伴渶瑕佽繘琛屼紶閫掞紝榪欐牱杞崲鐨勮瘽浼?xì)甯︽潵澶ч噺鐨勮浆鎹唬鐮佸Q岄潪甯鎬笉渚褲€?BR><BR><STRONG>浜屻€佸叆闂ㄧ駭瑙e喅鏂規(guī)硶<BR></STRONG><BR>鍚庢潵錛屽ぇ瀹跺紑濮嬪啓涓€涓繃婊ゅ櫒錛屽湪鍙栧緱瀹㈡埛绔紶榪囨潵鐨勫弬鏁頒箣鍓嶏紝閫氳繃榪囨護(hù)鍣ㄩ鍏堝皢鍙栧緱鐨勫弬鏁扮紪鐮佽瀹氫負(fù) gb2312 錛岀劧鍚庡氨鍙互鐩存帴浣跨敤 getParameter 鍙栧緱姝g‘鐨勫弬鏁頒簡銆傝繖涓繃婊ゅ櫒鍦?tomcat 鐨勭ず渚嬩唬鐮?<BR>jsp-examples 涓湁璇︾粏鐨勪嬌鐢ㄧず渚?   鍏朵腑榪囨護(hù)鍣ㄥ湪 web.xml 涓殑璁懼畾濡備笅錛岀ず渚嬩腑浣跨敤鐨勬槸鏃ユ枃鐨勭紪鐮侊紝鎴戜滑鍙淇敼涓?gb2312 鍗沖彲<BR><BR>    <filter><BR>        <filter-name>Set Character Encoding</filter-name><BR>        <filter-class>filters.SetCharacterEncodingFilter</filter-class><BR>        <init-param><BR>            <param-name>encoding</param-name><BR>            <param-value><FONT style="BACKGROUND-COLOR: #ff0000">EUC_JP</FONT></param-value><BR>        </init-param><BR>    </filter><BR><BR>榪囨護(hù)鍣ㄧ殑浠g爜濡備笅錛?BR>public class SetCharacterEncodingFilter implements Filter {</P> <P>    // 緙栫爜鐨勫瓧絎︿覆<BR>    protected String encoding = null;</P> <P>   // 榪囨護(hù)鍣ㄧ殑閰嶇疆<BR>    protected FilterConfig filterConfig = null;</P> <P>   // 鏄惁蹇界暐瀹㈡埛绔殑緙栫爜<BR>    protected boolean ignore = true;</P> <P>   // 閿€姣佽繃婊ゅ櫒<BR>    public void destroy() {</P> <P>        this.encoding = null;<BR>        this.filterConfig = null;</P> <P>    }</P> <P>   // 榪囨護(hù)鏂規(guī)硶<BR>    public void doFilter(ServletRequest request, ServletResponse response,<BR>                         FilterChain chain)<BR>          throws IOException, ServletException {</P> <P>        // 濡傛灉浣跨敤榪囨護(hù)鍣紝蹇界暐瀹㈡埛绔殑緙栫爜錛岄偅涔堜嬌鐢ㄩ€氳繃榪囨護(hù)鍣ㄨ瀹氱紪鐮?BR>        if (ignore || (request.getCharacterEncoding() == null)) {<BR>            String encoding = selectEncoding(request);<BR>            if (encoding != null)<BR>                request.setCharacterEncoding(encoding);<BR>        }</P> <P>        // 浼犻€佺粰涓嬩竴涓繃婊ゅ櫒<BR>        chain.doFilter(request, response);</P> <P>    }</P> <P><BR>    // 鍒濆鍖栬繃婊ゅ櫒<BR>    public void init(FilterConfig filterConfig) throws ServletException {</P> <P>        this.filterConfig = filterConfig;<BR>        this.encoding = filterConfig.getInitParameter("encoding");<BR>        String value = filterConfig.getInitParameter("ignore");<BR>        if (value == null)<BR>            this.ignore = true;<BR>        else if (value.equalsIgnoreCase("true"))<BR>            this.ignore = true;<BR>        else if (value.equalsIgnoreCase("yes"))<BR>            this.ignore = true;<BR>        else<BR>            this.ignore = false;</P> <P>    }</P> <P>    // 榪斿洖榪囨護(hù)鍣ㄨ瀹氱殑緙栫爜<BR>    protected String selectEncoding(ServletRequest request) {</P> <P>        return (this.encoding);</P> <P>    }<BR>}<BR><BR>鐒惰€屽湪 tomcat5 涓紝鍗充嬌浣跨敤榪囨護(hù)鍣紝浠嶇劧鍙兘鍙栧緱涔辯爜錛屽師鍥犱綍鍦ㄥ憿錛?BR><BR><STRONG>涓夈€侀珮綰цВ鍐蟲柟娉?/STRONG><BR><BR>榪欐槸鍥犱負(fù)錛?FONT face="Courier New">鍦?tomcat4 鍜?tomcat5 涓鍙傛暟鐨勫鐞嗘槸涓嶄竴鏍風(fēng)殑錛屽湪 tomcat4 涓?get 涓?post 鐨勭紪鐮佹槸涓€鏍風(fēng)殑錛屾墍浠ュ彧瑕佸湪榪囨護(hù)鍣ㄤ腑閫氳繃 request.setCharacterEncoding 璁懼畾涓€嬈″氨鍙互瑙e喅 get 涓?post 鐨勯棶棰樸€傜劧鑰岋紝鍦?tomcat5 涓紝get 涓?post 鐨勫鐞嗘槸鍒嗗紑榪涜鐨?/FONT><BR><BR>鍦?tomcat 5 涓紝涓轟簡瑙e喅緙栫爜闂錛宼omcat 鐨勪綔鑰呬綔浜嗗緢澶氬姫鍔涳紝鍏蜂綋琛ㄧ幇涓哄湪 tomcat 鐨勯厤緗枃浠?server.xml 涓 Connector 鍏冪礌澧炲姞浜嗗涓嬬殑閰嶇疆鍙傛暟錛屼笓闂ㄧ敤鏉ュ緙栫爜榪涜鐩存帴鐨勯厤緗?BR><BR><FONT face="Courier New"><EM><FONT style="BACKGROUND-COLOR: #ffa500">URIEncoding</FONT></EM>   鐢ㄦ潵璁懼畾閫氳繃 URI 浼犻€掔殑鍐呭浣跨敤鐨勭紪鐮侊紝tomcat 灝嗕嬌鐢ㄨ繖閲屾寚瀹氱殑緙栫爜瀵瑰鎴風(fēng)浼犻€佺殑鍐呭榪涜緙栫爜銆?BR><BR>浠€涔堟槸 URI 鍛紵<BR>java doc 鐨勮鏄庝腑濡備笅璇存槑錛歎RI 鏄粺涓€璧勬簮<I>鏍囪瘑絎?/I>錛岃€?URL 鏄粺涓€璧勬簮<I>瀹氫綅絎?/I>銆傚洜姝わ紝絎肩粺鍦拌錛屾瘡涓?URL 閮芥槸 URI錛屼絾涓嶄竴瀹氭瘡涓?URI 閮芥槸 URL銆傝繖鏄洜涓?URI 榪樺寘鎷竴涓瓙綾伙紝鍗崇粺涓€璧勬簮<I>鍚嶇О</I> (URN)錛屽畠鍛藉悕璧勬簮浣嗕笉鎸囧畾濡備綍瀹氫綅璧勬簮銆?BR><BR>涔熷氨鏄錛?FONT style="BACKGROUND-COLOR: #ffff00">鎴戜滑閫氳繃 get 鏂規(guī)硶鎻愪氦鐨勫弬鏁板疄闄呬笂閮芥槸閫氳繃 uri 鎻愪氦鐨勶紝閮界敱榪欎釜鍙傛暟綆$悊</FONT>錛屽鏋滄病鏈夎瀹氳繖涓弬鏁幫紝鍒?tomcat 灝嗕嬌鐢ㄩ粯璁ょ殑 iso8859-1 瀵瑰鎴風(fēng)鐨勫唴瀹硅繘琛岀紪鐮併€?BR><BR><FONT style="BACKGROUND-COLOR: #ffa500">useBodyEncodingForURI</FONT> 浣跨敤涓?Body 涓€鏍風(fēng)殑緙栫爜鏉ュ鐞?URI, 榪欎釜璁懼畾鏄負(fù)浜嗕笌 tomcat4淇濇寔鍏煎錛屽師鏉ュ湪 tomcat4 鍜?tomcat5 涓槦鍙傛暟鐨勫鐞嗘槸涓嶄竴鏍風(fēng)殑錛屽湪 tomcat4 涓?get 涓?post 鐨勭紪鐮佹槸涓€鏍風(fēng)殑錛屾墍浠ュ彧瑕佸湪榪囨護(hù)鍣ㄤ腑閫氳繃 request.setCharacterEncoding 璁懼畾涓€嬈″氨鍙互瑙e喅 get 涓?post 鐨勯棶棰樸€傜劧鑰岋紝鍦?tomcat5 涓紝get 涓?post 鐨勫鐞嗘槸鍒嗗紑榪涜鐨勶紝瀵?get 鐨勫鐞嗛€氳繃 鍓嶉潰鐨?URIEncoding 榪涜澶勭悊錛屽 post 鐨勫唴瀹逛緷鐒墮€氳繃 request.setCharacterEncoding 澶勭悊錛屼負(fù)浜嗕繚鎸佸吋瀹癸紝灝辨湁浜嗚繖涓瀹氥€?BR><BR><FONT style="BACKGROUND-COLOR: #ffff00">灝?useBodyEncodingForURI 璁懼畾涓虹湡鍚庯紝灝卞彲浠ラ€氳繃 request.setCharacterEncoding 鐩存帴瑙e喅 get 鍜?post 涓殑涔辯爜闂</FONT>銆?BR><BR>榪欐牱錛屾垜浠彲浠ラ€氳繃鍦?server.xml 涓瀹?URIEncoding 鏉ヨВ鍐?get 鏂規(guī)硶涓殑鍙傛暟闂錛屼嬌鐢ㄨ繃婊ゅ櫒鏉ヨВ鍐?post 鏂規(guī)硶涓殑闂銆?BR><BR>鎴栬€呬篃鍙互閫氳繃鍦?server.xml 涓瀹?useBodyEncodingForURI 涓?true 錛岄厤鍚堣繃婊ゅ櫒鏉ヨВ鍐崇紪鐮佺殑闂銆?BR><BR>鍦ㄨ繖閲岋紝鎴戝己鐑堝緩璁湪緗戠珯鐨勫垱浣滆繃紼嬩腑錛屽叏紼嬩嬌鐢?utf-8 緙栫爜鏉ュ交搴曡В鍐充貢鐮侀棶棰樸€?BR><BR>鍏蜂綋鎿嶄綔濡備笅錛?BR><FONT color=#008000>1銆侀〉闈㈠唴瀹逛嬌鐢?utf-8 鏍煎紡淇濆瓨錛屽湪欏甸潰涓姞鍏?<mete http-equiv="contentType" content="text/html;charst=utf-8"><BR><BR>2銆佹湇鍔″櫒绔殑 server.xml 涓瀹?useBodyEncodingForURI = true<BR><BR>3銆佷嬌鐢ㄨ繃婊ゅ櫒錛岃繃婊ゅ櫒璁懼畾緙栫爜涓?utf-8</FONT><BR><BR><BR></FONT><BR></P><img src ="http://www.aygfsteel.com/haogj/aggbug/55017.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/haogj/" target="_blank">haogj</a> 2006-06-25 22:04 <a href="http://www.aygfsteel.com/haogj/archive/2006/06/25/55017.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鐧懼害涔嬫槦紼嬪簭璁捐澶ц禌鍒濋鐩?/title><link>http://www.aygfsteel.com/haogj/archive/2006/06/05/50606.html</link><dc:creator>haogj</dc:creator><author>haogj</author><pubDate>Mon, 05 Jun 2006 15:02:00 GMT</pubDate><guid>http://www.aygfsteel.com/haogj/archive/2006/06/05/50606.html</guid><wfw:comment>http://www.aygfsteel.com/haogj/comments/50606.html</wfw:comment><comments>http://www.aygfsteel.com/haogj/archive/2006/06/05/50606.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.aygfsteel.com/haogj/comments/commentRss/50606.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/haogj/services/trackbacks/50606.html</trackback:ping><description><![CDATA[<P>1.鐧懼害璇█緲昏瘧鏈?<BR>鐧懼害鐨勫伐紼嬪笀浠槸闈炲父娉ㄩ噸鏁堢巼鐨勶紝鍦ㄩ暱鏈熺殑寮€鍙戜笌嫻嬭瘯榪囩▼涓紝浠栦滑閫愭笎鍒涢€犱簡涓€濂楃嫭鐗圭殑緙╃暐璇€備粬浠湪騫蟲椂鐨勪氦璋堛€佷細(xì)璁紝鐢氳嚦鍦ㄥ悇縐嶆妧鏈枃妗d腑閮戒細(xì)澶ч噺榪愮敤銆?/P> <P>涓轟簡璁╂柊鍛樺伐鍙互鏇村揩鍦伴€傚簲鐧懼害鐨勬枃鍖栵紝鏇村ソ鍦伴槄璇誨叕鍙哥殑鎶€鏈枃妗o紝浜哄姏璧勬簮閮ㄥ喅瀹氬紑鍙戜竴濂椾笓鐢ㄧ殑緲昏瘧緋葷粺錛屾妸鐩稿叧鏂囨。涓殑緙╃暐璇拰涓撴湁鍚嶈瘝緲昏瘧鎴愭棩甯歌璦€銆?/P> <P>杈撳叆瑕佹眰錛?BR>杈撳叆鏁版嵁鍖呭惈涓夐儴鍒嗭細(xì)<BR>1. 絎竴琛屽寘鍚竴涓暣鏁癗(N<=10000)錛岃〃紺烘€誨叡鏈夊灝戜釜緙╃暐璇殑璇嶆潯錛?BR>2. 绱ф帴鐫€鏈塏琛岀殑杈撳叆錛屾瘡琛屽寘鍚袱涓瓧絎︿覆錛屼互絀烘牸闅斿紑銆傜涓€涓瓧絎︿覆涓虹緝鐣ヨ錛堜粎鍖呭惈澶у啓鑻辨枃瀛楃錛岄暱搴︿笉瓚呰繃10瀛楄妭錛夛紝絎簩涓瓧絎︿覆涓烘棩甯歌璦€錛堜笉鍖呭惈絀烘牸錛岄暱搴︿笉瓚呰繃255瀛楄妭錛夛紱<BR>3. 浠庣N+2寮€濮嬪埌杈撳叆緇撴潫涓哄寘鍚緝鐣ヨ鐨勭浉鍏蟲枃妗o紙鎬婚暱搴︿笉瓚呰繃1000000涓瓧鑺傦級銆備緥錛?BR>6<BR>PS 闂ㄦ埛鎼滅儲閮?BR>NLP 鑷劧璇█澶勭悊<BR>PM 浜у搧甯傚満閮?BR>HR 浜哄姏璧勬簮閮?BR>PMD 浜у搧鎺ㄥ箍閮?BR>MD 甯傚満鍙戝睍閮?BR>鐧懼害鐨勯儴闂ㄥ寘鎷琍S錛孭M錛孒R錛孭MD錛孧D絳夌瓑錛屽叾涓璓S榪樺寘鎷琋LP灝忕粍銆?BR>鏍蜂緥錛歩n.txt </P> <P>杈撳嚭瑕佹眰錛?BR>杈撳嚭灝嗙緝鐣ヨ杞崲鎴愭棩甯歌璦€鍚庣殑鏂囨。銆傦紙灝嗙緝鐣ヨ杞崲鎴愭棩甯歌璦€錛屽叾浠栧瓧絎︿繚鐣欏師鏍鳳級銆備緥錛?BR>鐧懼害鐨勯儴闂ㄥ寘鎷棬鎴鋒悳绱㈤儴錛屼駭鍝佸競鍦洪儴錛屼漢鍔涜祫婧愰儴錛屼駭鍝佹帹騫塊儴錛屽競鍦哄彂灞曢儴絳夌瓑錛屽叾涓棬鎴鋒悳绱㈤儴榪樺寘鎷嚜鐒惰璦€澶勭悊灝忕粍銆?BR>鏍蜂緥錛歰ut.txt </P> <P>2.楗洟鐨勭儲鎭?<BR>鈥滃崍槨愰キ鍥⑩€濇槸鐧懼害鍐呴儴鍙備笌浜烘暟鏈€澶氱殑姘戦棿緇勭粐銆?BR>鍚屼竴涓儴闂ㄧ殑銆佸悓涓€鎵€澶у鐨勩€佸悓涓€騫村嚭鐢熺殑銆佷嬌鐢ㄥ悓涓€縐嶅瀷鍙風(fēng)數(shù)鑴戠殑鍛樺伐浠€繪槸浠ュ悇縐嶇悊鐢辯粍緇囧悇縐嶉暱鏈熺殑銆佷復(fù)鏃剁殑楗洟銆?/P> <P><BR>鍙傚姞楗洟錛屼笉浠呭彲浠ヤ互浼樻儬鐨勪環(huán)鏍煎皾鍒版洿鍔犱赴瀵岀殑鑿滃紡錛岃繕鍙互鍦ㄥ悆楗殑鏃跺€欏拰鍚屼簨浠榪涙劅鎯呫€?BR>浣嗘槸錛岄殢鐫€鐧懼害鐨勫憳宸ヨ秺鏉ヨ秺澶氾紝鍚勪釜楗洟鐨勭鐞嗗彉寰楃箒鏉傝搗鏉ャ€傜壒鍒槸涓轟簡鐓ч【鍛樺伐浠秺鏉ヨ秺鎸戝墧鐨勮儍錛岄キ鍥㈢殑鐐硅彍璐熻矗浜虹殑鍘嬪姏涔熻秺鏉ヨ秺澶с€傜幇鍦紝榪欎釜浠誨姟灝變氦緇欌€滅櫨搴︿箣鏄熲€濅簡錛屽洜涓猴紝浣犲皢瑕佷負(fù)鎵€鏈夌殑鐧懼害楗洟璁捐涓€涓嚜鍔ㄧ偣鑿滅殑綆楁硶銆?/P> <P><BR>楗洟鐐硅彍鐨勯渶姹傚涓嬶細(xì)<BR>1錛庣粡嫻庢槸鎴戜滑瑕佽€冭檻鐨勪竴涓洜绱狅紝鏃㈣鍏呭垎鍒╃敤鐧懼害鍛樺伐鐨勫崍槨愯ˉ鍔╋紝鍙堜笉鑳介摵寮犳氮璐廣€傚洜姝わ紝鎴戜滑甯屾湜鏈€鍚庣殑浜哄潎璐圭敤瓚婃帴榪?2鍏冭秺濂姐€?BR>2錛庤彍寮忎赴瀵屾槸鎴戜滑瑕佽€冭檻鐨勫彟涓€涓洜绱犮€備負(fù)綆€鍗曡搗瑙侊紝鎴戜滑灝嗗悇縐嶈彍鑲寸殑灞炴€у綊緇撲負(fù)鑽よ彍錛岀礌鑿滐紝杈涜荊錛屾竻娣★紝騫朵笖姣忎釜鑿滃彧鑳界偣涓€嬈°€?BR>3錛庤璋ㄨ錛岀櫨搴﹂キ鍥㈠湪鍚勫ぇ槨愰浜彈8鎶樹紭鎯犮€?/P> <P><BR>杈撳叆瑕佹眰錛?BR>1錛庤緭鍏ユ暟鎹涓€琛屽寘鍚笁涓暣鏁癗錛孧錛孠(0<N<=16錛?<M<=N錛?<K<=12)錛屽垎鍒〃紺鴻彍鍗曚笂鑿滅殑鏁扮洰錛岄キ鍥㈤渶瑕佺偣鐨勮彍鐨勬暟鐩紝灝遍鐨勪漢鏁幫紱<BR>2錛庣揣鎺ョ潃N琛岋紝姣忚鐨勬牸寮忓涓嬶細(xì)<BR>鑿滃悕錛堥暱搴︿笉瓚呰繃20涓瓧絎︼級 浠鋒牸錛堝師浠鳳紝鏁存暟錛?鏄惁鑽よ彍錛?琛ㄧず鏄紝0琛ㄧず鍚︼級 鏄惁杈涜荊錛?琛ㄧず鏄紝0琛ㄧず鍚︼級錛?BR>3錛庣N+2琛屾槸 a b c d 鍥涗釜鏁存暟錛屽垎鍒〃紺洪渶瑕佺偣鐨勮崵鑿滐紝绱犺彍錛岃緵杈o紝娓呮貳鑿滅殑鏁扮洰銆備緥錛?BR>3 2 2<BR>姘寸叜楸?30 1 1<BR>鍙f按楦?18 1 1<BR>娓呯倴璞嗚厫 12 0 0<BR>1 1 1 1<BR>鏍蜂緥錛歩n.txt</P> <P><BR>杈撳嚭瑕佹眰錛?BR>瀵逛簬姣忕粍嫻嬭瘯鏁版嵁錛岃緭鍑烘暟鎹寘鍚玀+1琛岋紝鍓峂琛屾瘡琛屽寘鍚竴涓彍鍚嶏紙鎸夎彍鍚嶅湪鍘熻彍鍗曠殑欏哄簭鎺掑簭錛夈€傜M+1琛屾槸浜哄潎娑堣垂錛岀粨鏋滀繚鐣欎袱浣嶅皬鏁般€備緥錛?BR>鍙f按楦?BR>娓呯倴璞嗚厫<BR>12.00<BR>鏍蜂緥錛歰ut.txt <BR><BR>3.鍙樻€佹瘮璧涜鍒?<BR>涓轟簡淇冭繘鍚勯儴闂ㄥ憳宸ョ殑浜ゆ祦錛岀櫨搴︿婦鍔炰簡涓€鍦哄叏鍏徃鑼冨洿鍐呯殑鈥滄嫵鐨団€濓紙鐧懼害鍐呴儴鏈€嫻佽鐨勬牸鏂楁父鎴忥級鍙嬭皧璧涳紝璐熻矗緇勭粐榪欏満姣旇禌鐨勬槸鐧懼害鐨勮秴綰р€滄嫵鐨団€濊糠W.Z銆俉.Z涓嶆兂鐢ㄤ紶緇熺殑娣樻卑璧涙垨鑰呭驚鐜禌鐨勬柟寮忥紝鑰屾槸鑷繁鍒跺畾浜嗕竴涓瘮璧涜鍒欍€?/P> <P><BR>鐢變簬涓€浜涘憳宸ワ紙姣斿鍚岄儴闂ㄦ垨鑰呯浉閭婚儴闂ㄥ憳宸ワ級騫蟲椂鎺ヨЕ鐨勬満浼?xì)姣旇緝澶氬Q屼負(fù)浜嗕績榪涗笉鍚岄儴闂ㄤ箣闂寸殑浜ゆ祦錛學(xué).Z甯屾湜鍛樺伐鑷敱鍒嗙粍銆備笉鍚岀粍涔嬮棿鐨勬瘡涓や釜浜洪兘浼?xì)杩涜涓€鍦哄弸璋婅禌鑰屽悓涓€緇勫唴鐨勪漢涔嬮棿涓嶄細(xì)鎵撲換浣曟瘮璧涖€?/P> <P><BR>姣斿4涓漢錛岀紪鍙蜂負(fù)1~4,濡傛灉鍒嗕負(fù)涓や釜緇勫茍涓?錛?涓€涓粍錛?錛?涓€涓粍錛岄偅涔堜竴鍏遍渶瑕佹墦鍥涘満姣旇禌錛? vs 3錛? vs 4錛? vs 3錛? vs 4銆?鑰屽鏋滄槸1錛?錛?涓€緇勶紝4鍗曠嫭涓€緇勶紝閭d箞涓€鍏遍渶瑕佹墦涓夊満姣旇禌: 1 vs 4錛? vs 4錛? vs 4銆?/P> <P><BR>寰堝揩W.Z鎰忚瘑鍒幫紝榪欐牱鐨勬瘮璧涜鍒欏彲鑳戒細(xì)璁╂瘮璧涚殑鍦烘暟闈炲父澶氥€俉.Z鎯崇煡閬撳鏋滄湁N涓漢錛岄€氳繃涓婇潰榪欑姣旇禌瑙勫垯錛屾€繪瘮璧涘満鏁版湁鍙兘涓篕鍦哄悧錛熸瘮濡?涓漢錛屽鏋滃彧鍒嗗埌涓€緇勫垯涓嶉渶瑕佹瘮璧涳紝濡傛灉鍒嗗埌涓ょ粍鍒欓渶瑕?鍦烘瘮璧涳紝濡傛灉鍒嗕負(fù)涓夌粍鍒欓渶瑕?鍦烘瘮璧涖€備絾鏄棤璁烘€庝箞鍒嗛兘涓嶅彲鑳芥伆闇€瑕?鍦烘瘮璧涖€?/P> <P><BR>鐩鎬俊浣滀負(fù)緙栫▼楂樻墜鐨勪綘涓€瀹氱煡閬撹鎬庝箞鍥炵瓟榪欎釜闂浜嗗惂錛?閭d箞鐜板湪璇蜂綘甯姪W.Z鍚с€?/P> <P><BR>杈撳叆瑕佹眰錛?BR>姣忚涓轟竴緇勬暟鎹紝鍖呭惈涓や釜鏁板瓧 N, K(0<N<=500, K>=0)銆備緥錛?BR>2 0<BR>2 1<BR>3 1<BR>3 2<BR>鏍蜂緥錛歩n.txt</P> <P><BR>杈撳嚭瑕佹眰錛?BR>瀵硅緭鍏ョ殑N,K 濡傛灉N涓憳宸ラ€氳繃涓€瀹氱殑鍒嗙粍鏂瑰紡鍙互浣挎瘮璧涘満鏁版伆濂戒負(fù)K錛屽垯杈撳嚭"YES"錛屽惁鍒欒緭鍑?NO"錛堣鍏ㄩ儴浣跨敤澶у啓瀛楁瘝錛夛紝姣忕粍鏁版嵁鍗犱竴琛屻€備緥錛?BR>YES<BR>YES<BR>NO<BR>YES<BR>鏍蜂緥錛歰ut.txt</P> <P><BR>4.铦堣潏璁″垎 <BR>铦堣潏灝忔湅鍙嬪垰鍒氬浼?xì)浜?~9榪欏崄涓暟瀛?涔熻窡鐖哥埜濡堝鏉ュ弬鍔犵櫨搴︽瘡鍛ㄨ繘琛岀殑緹芥瘺鐞冩椿鍔ㄣ€備絾鏄粬榪樻病鏈夌悆鎷嶉珮錛屼簬鏄ぇ浜轟滑鍙粬璁板綍鍒嗘暟銆傝仾鏄庣殑铦堣潏鍙戠幇鍙璁板綍榪炵畫寰楀垎鐨勬儏鍐靛氨鍙互浜嗭紝姣斿鐢ㄢ€? 2 4鈥濆彲浠ヨ〃紺轟竴鏂瑰湪榪欎竴灞€涓繛寰椾笁鍒嗗悗錛岃緭浜嗕袱鍒嗭紝鎺ョ潃鍙堣繛寰楀埌鍥涘垎銆傚彲鏄紝鍚庢潵澶т漢浠彂鐜拌潏铦堝彧浼?xì)鐢?~9榪欏崄涓暟瀛楋紝鎵€浠ュ綋姣旇禌閫夋墜寰楀垎瓚呰繃9鐨勬椂鍊欙紝浠栦細(xì)鐢ㄤ竴涓猉鏉ヨ〃紺?0瀹屾垚璁板垎銆備絾闂鏄紝褰撹褰曚負(fù)鈥淴 3 5鈥濈殑鏃跺€欙紝铦堣潏鑷繁涔熻涓嶈搗鏉ユ槸涓€鏂硅繛緇緱鍒板崄涓夊垎鍚庯紝鍐嶈緭浜斿垎錛涜繕鏄厛璧㈠崄鍒嗚緭涓夊垎鍐嶈耽浜斿垎銆?</P> <P>鍥犱負(fù)鐧懼害鍐呴儴灝辮寮€濮嬭繘琛岀窘姣涚悆鑱旇禌浜嗭紝瑕佸厛鎽告竻澶у鐨勫疄鍔涙墠濂藉垎緇勬瘮璧涘憿锝炰簬鏄紝澶т漢浠兂鐭ラ亾浠ュ墠姣忓眬鐨勬瘮鍒嗘槸鎬庢牱鐨勶紝浠ュ強璋佽幏寰椾簡鑳滃埄銆傝鏄亣鍒頒簡鏍規(guī)嵁姣旇禌璁板綍鏃犳硶紜姣旇禌榪囩▼鐨勬儏鍐碉紝涔熻杈撳嚭鐩稿簲鐨勬彁紺哄摝銆?</P> <P>闇€瑕佽繘涓€姝ヨ鏄庣殑鏄紝姣旇禌鏄簲灞€涓夎儨鐨勶紝姣忓眬鍏堣幏寰椾簩鍗佷竴鍒嗙殑涓鴻儨錛屼絾鏄儨鏂瑰繀欏婚鍏堝鎵嬩袱鍒嗘垨浠ヤ笂錛屽惁鍒欏繀欏葷戶緇瘮璧涚洿鍒頒竴鏂硅秴鍑哄鎵嬩袱鍒嗕負(fù)姝紝姣斿垎澶氱殑涓€鏂硅幏鑳溿€備換浣曚竴鏂瑰厛鑾瘋儨涓夊眬鍚庡氨鑾峰緱鏈€緇堣儨鍒╋紝姣旇禌涔熺浉搴旂殑緇撴潫銆傝€屼笖铦堣潏淇濊瘉鏄畬鏁寸殑鏃犲浣欎俊鎭殑璁板綍浜嗘瘮璧涖€?</P> <P>杈撳叆瑕佹眰錛?BR>1錛庢枃浠朵腑絎竴琛屽彧鏈変竴涓暣鏁癕錛岃〃紺鴻潏铦堣褰曚簡澶氬皯鍦烘瘮璧涚殑鍒嗘暟錛?BR>2錛庡湪鎺ヤ笅鏉ョ殑2M琛岄噷錛屾瘡鍦烘瘮璧涚敤涓よ璁板綍錛岀涓€琛屾槸涓€涓暣鏁癗(N<=1000)琛ㄧず褰撳墠榪欎釜璁板綍涓湁澶氬皯涓瓧絎︼紝絎簩琛屽氨鏄叿浣撶殑N涓瓧絎﹁〃紺鴻褰曠殑鍒嗘暟錛堢浉閭誨瓧絎︾敤絀烘牸闅斿紑錛夈€備緥錛?BR>3<BR>23<BR>9 7 3 6 2 4 7 8 3 2 7 9 X 2 2 1 2 1 X 1 X 1 1<BR>25<BR>9 3 8 5 4 8 3 9 8 4 X X X X 2 X X X X 2 8 4 9 2 4<BR>43<BR>7 7 7 7 7 3 4 5 6 7 6 5 4 2 1 3 5 7 9 7 5 3 1 3 0 9 9 3 9 3 2 1 1 1 5 1 5 1 5 1 5 5 1<BR>鏍蜂緥錛歩n.txt</P> <P><BR>杈撳嚭瑕佹眰錛?BR>瀵瑰簲姣忎竴涓垎鏁拌褰曪紝杈撳嚭鐩稿簲鐨勬瘡灞€鍒嗘暟錛屾瘡灞€鍒嗘暟閮戒嬌鐢ㄤ袱涓暣鏁拌〃紺猴紝琛ㄧず涓や釜閫夋墜鐨勫緱鍒嗭紝涓棿鐢?:"鍒嗛殧寮€錛涙瘡緇勫垎鏁拌褰曢棿浣跨敤涓€涓┖琛屽垎闅斿紑銆傚鏋滅浉搴旂殑姣旇禌緇撴灉鏃犳硶棰勬祴錛屼互鈥淯NKNOWN鈥濅竴涓崟璇嶇嫭鍗犱竴琛岃〃紺猴紙璇峰叏閮ㄤ嬌鐢ㄥぇ鍐欏瓧姣嶏級銆備緥錛?BR>21:17<BR>24:22<BR>21:3</P> <P>UNKNOWN</P> <P>21:14<BR>20:22<BR>21:23<BR>21:16<BR>21:9<BR>鏍蜂緥錛歰ut.txt<BR><BR>5.搴т綅璋冩暣 <BR>鐧懼害鍔炲叕鍖洪噷鍒板鎽嗘斁鐫€鍚勭鍚勬牱鐨勯浂椋熴€傜櫨搴︿漢鍔涜祫婧愰儴鐨勮皟鐮斿彂鐜幫紝鍛樺伐濡傛灉鍙互鍦ㄨ嚜宸卞枩嬈㈢殑緹庨鏃佽竟宸ヤ綔錛屾晥鐜囦細(xì)澶уぇ鎻愰珮銆傚洜姝わ紝鐧懼害鍐沖畾榪涜涓€嬈″憳宸ュ駭浣嶇殑澶ц皟鏁淬€?/P> <P>璋冩暣鐨勬柟娉曞涓嬶細(xì)<BR>1錛庨鍏堝皢鍔炲叕鍖烘寜鐓у悇縐嶉浂椋熺殑鎽嗘斁鍒嗘垚N涓笉鍚岀殑鍖哄煙錛堜緥濡傦細(xì)鍙箰鍖猴紝楗煎共鍖猴紝鐗涘ザ鍖虹瓑絳夛級錛?BR>2錛庢瘡涓憳宸ュ涓嶅悓鐨勯浂椋熷尯鍩熸湁涓嶅悓鐨勫枩濂界▼搴︼紙鍠滃ソ紼嬪害鏄?~100鐨勬暣鏁幫紝 鍠滃ソ紼嬪害瓚婂ぇ琛ㄧず璇ュ憳宸ヨ秺甯屾湜琚皟鏁村埌鐩稿簲鐨勯浂椋熷尯鍩燂級錛?BR>3錛庣敱浜庢瘡涓浂椋熷尯鍩熷彲浠ュ綰崇殑鍛樺伐鏁伴噺鏈夐檺錛屼漢鍔涜祫婧愰儴甯屾湜鎵懼埌涓€涓渶浼樼殑璋冩暣鏂規(guī)浣垮緱鎬葷殑鍠滃ソ紼嬪害鏈€澶с€?/P> <P><BR>杈撳叆瑕佹眰錛?BR>鏂囦歡絎竴琛屽寘鍚袱涓暣鏁癗錛孧(N>=1錛孧<=300)銆傚垎鍒〃紺篘涓尯鍩熷拰M涓憳宸ワ紱<BR>絎簩琛屾槸N涓暣鏁版瀯鎴愮殑鏁板垪a錛屽叾涓璦[i]琛ㄧず絎琲涓尯鍩熷彲浠ュ綰崇殑鍛樺伐鏁?1<=a[i]<=M錛宎[1]+a[2]+...+a[N]=M)錛?BR>绱ф帴鐫€鏄竴涓狹*N鐨勭煩闃礟錛孭(i,j)琛ㄧず絎琲涓憳宸ュ絎琷涓尯鍩熺殑鍠滃ソ紼嬪害銆備緥錛?BR>3 3<BR>1 1 1<BR>100 50 25<BR>100 50 25<BR>100 50 25<BR>鏍蜂緥錛歩n.txt</P> <P><BR>杈撳嚭瑕佹眰錛?BR>瀵逛簬姣忎釜嫻嬭瘯鏁版嵁錛岃緭鍑哄彲浠ヨ揪鍒扮殑鏈€澶х殑鍠滃ソ紼嬪害銆備緥錛?BR>175<BR>鏍蜂緥錛歰ut.txt</P> <P><BR>6.鍓垁鐭沖ご甯?<BR>N涓皬瀛╂鍦ㄥ拰浣犵帺涓€縐嶅壀鍒€鐭沖ご甯冩父鎴忥紙鍓垁璧㈠竷錛屽竷璧㈢煶澶達(dá)紝鐭沖ご璧㈠壀鍒€錛夈€侼涓皬瀛╀腑鏈変竴涓槸瑁佸垽錛屽叾浣欏皬瀛╁垎鎴愪笁緇勶紙涓嶆帓闄ゆ煇浜涚粍娌℃湁浠諱綍鎴愬憳鐨勫彲鑳芥€э級錛屼絾鏄綘涓嶇煡閬撹皝鏄鍒わ紝涔熶笉鐭ラ亾灝忓浠殑鍒嗙粍鎯呭喌銆傜劧鍚庯紝灝忓浠紑濮嬬帺鍓垁鐭沖ご甯冩父鎴忥紝涓€鍏辯帺M嬈★紝姣忔浠繪剰閫夋嫨涓や釜灝忓榪涜涓€杞紝浣犱細(xì)琚憡鐭ョ粨鏋滐紝鍗充袱涓皬瀛╃殑鑳滆礋鎯呭喌錛岀劧鑰屼綘涓嶄細(xì)寰楃煡灝忓鍏蜂綋鍑虹殑鏄壀鍒€銆佺煶澶磋繕鏄竷銆傚凡鐭ュ悇緇勭殑灝忓鍒嗗埆鍙細(xì)鍑轟竴縐嶆墜鍔匡紙鍥犺€屽悓涓€緇勭殑涓や釜灝忓鎬諱細(xì)鏄拰灞€錛夛紝鑰岃鍒ゅ垯姣忔閮戒細(xì)闅忎究閫夋嫨鍑轟竴縐嶆墜鍔匡紝鍥犳娌℃湁浜轟細(xì)鐭ラ亾瑁佸垽鍒板簳浼?xì)鍑轰粈涔堛€傝浣犲湪M嬈″壀鍒€鐭沖ご甯冩父鎴忕粨鏉熷悗錛岀寽鐚滆皝鏄鍒ゃ€傚鏋滀綘鑳界寽鍑鴻皝鏄鍒わ紝璇瘋鏄庢渶鏃╁湪絎嚑嬈℃父鎴忕粨鏉熷悗浣犲氨鑳藉紜畾璋佹槸瑁佸垽銆?/P> <P>杈撳叆瑕佹眰錛?BR>杈撳叆鏂囦歡鍖呭惈澶氱粍嫻嬭瘯鏁版嵁錛屾瘡緇勬祴璇曟暟鎹涓€琛屼負(fù)涓や釜鏁存暟N鍜孧(1<=N<=500錛?<M<=2000)錛屽垎鍒負(fù)灝忓鐨勪釜鏁板拰鍓垁鐭沖ご甯冩父鎴忚繘琛岀殑嬈℃暟銆傛帴涓嬫潵M琛岋紝姣忚涓や釜鏁存暟涓斾腑闂翠互涓€涓鍙烽殧寮€銆備袱涓暣鏁板垎鍒負(fù)榪涜娓告垙鐨勪袱涓皬瀛╁悇鑷殑緙栧彿錛堜負(fù)灝忎簬N鐨勯潪璐熸暣鏁幫級銆傜鍙風(fēng)殑鍙兘鍊間負(fù)鈥?鈥濄€佲€?gt;鈥濆拰鈥?lt;鈥濓紝鍒嗗埆琛ㄧず鍜屽眬銆佺涓€涓皬瀛╄儨鍜岀浜屼釜灝忓鑳滀笁縐嶆儏鍐點€備緥錛?BR>3 3<BR>0<1<BR>1<2<BR>2<0<BR>3 5<BR>0<1<BR>0>1<BR>1<2<BR>1>2<BR>0<2<BR>4 4<BR>0<1<BR>0>1<BR>2<3<BR>2>3<BR>1 0<BR>鏍蜂緥錛歩n.txt</P> <P><BR>杈撳嚭瑕佹眰錛?BR>1錛庢瘡緇勬祴璇曟暟鎹緭鍑轟竴琛岋紝鑻ヨ兘鐚滃嚭璋佹槸瑁佸垽錛屽垯杈撳嚭瑁佸垽鐨勭紪鍙鳳紝騫惰緭鍑哄湪絎嚑嬈℃父鎴忕粨鏉熷悗灝辮兘澶熺‘瀹氳皝鏄鍒わ紝灝忓鐨勭紪鍙峰拰娓告垙嬈℃暟浠ヤ竴涓┖鏍奸殧寮€錛?BR>2錛庡鏋滄棤娉曠‘瀹氳皝鏄鍒わ紝杈撳嚭-2錛涘鏋滃彂鐜板壀鍒€鐭沖ご甯冩父鎴忕殑鑳滆礋鎯呭喌涓嶅悎鐞嗭紙鍗蟲棤璁鴻皝鏄鍒ら兘浼?xì)鍑虹幇鐭涚浘锛夊Q屽垯杈撳嚭-1銆備緥錛?BR>-2<BR>1 4<BR>-1<BR>0 0<BR>鏍蜂緥錛歰ut.txt<BR></P><img src ="http://www.aygfsteel.com/haogj/aggbug/50606.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/haogj/" target="_blank">haogj</a> 2006-06-05 23:02 <a href="http://www.aygfsteel.com/haogj/archive/2006/06/05/50606.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>閰嶅埗 eclipse 3.1 浣跨敤涓枃 JavaAPI http://www.aygfsteel.com/haogj/archive/2006/06/04/50373.htmlhaogjhaogjSun, 04 Jun 2006 15:42:00 GMThttp://www.aygfsteel.com/haogj/archive/2006/06/04/50373.htmlhttp://www.aygfsteel.com/haogj/comments/50373.htmlhttp://www.aygfsteel.com/haogj/archive/2006/06/04/50373.html#Feedback5http://www.aygfsteel.com/haogj/comments/commentRss/50373.htmlhttp://www.aygfsteel.com/haogj/services/trackbacks/50373.htmlSun 瀹樻柟鐨勪腑鏂囩増 Java API 鏂囨。鍙戝竷浜嗭紝鍦板潃涓猴細(xì)http://gceclub.sun.com.cn/download/Java_Docs/html_zh_CN.zip, 涓嬭澆鍚庤鍙傝€冨涓嬫楠ら厤鍚?eclipse3.1 浣跨敤

1. 鐐瑰嚮鑿滃崟 <紿楀彛> -聽> <璁懼畾>
2. 鐐瑰嚮宸﹁竟欏圭洰鍒楄〃涓殑 <Java> ->聽 <宸插畨瑁呯殑 JRE>
3. 閫変腑浣犲凡緇忓畨瑁呭ソ鐨?JRE5.0 錛屽崟鍑誨彸杈圭殑緙栬緫
4. 鐐瑰嚮瀵硅瘽妗嗕笅杈圭殑搴撳垪琛ㄤ腑鐨?font color="#ff0000"> rt.jar 宸﹁竟鐨勫姞鍙?鈥?鈥濓紝灞曞紑 rt.jar 鐨勯厤緗?/font>
5. 閫変腑絎簩欏癸紝JavaDoc Location 錛?font color="#ff0000">鍗曞嚮鍙寵竟鐨勭紪杈?/font>錛屽鏋滃彸杈圭殑緙栬緫鏄伆鑹茬殑錛屽皢搴撳垪琛ㄤ笂杈圭殑鈥滀嬌鐢ㄩ粯璁ょ殑緋葷粺搴撯€?(use default system libraries) 鐨勫閫夋鍙栨秷閫夋嫨銆?br />6. 鍦ㄥ脊鍑虹殑瀵硅薄妗嗕腑錛屼笂杈規(guī)槸浣跨敤瑙e帇鍚庣殑鏂囦歡鏉ヨ繘琛屽府鍔╋紝涓嬮潰浣跨敤鏈В鍘嬬殑鍘嬬緝鍖呭府鍔┿€?br />7. 鎴戜滑浣跨敤鏈В鍘嬬殑鍘嬬緝鍖咃紝閫夋嫨涓嬮潰鐨?javaDoc in Archive.
8. 闇€瑕佽緭鍏ヤ袱涓唴瀹癸紝涓€涓槸鍘嬬緝鍖呮墍鍦ㄧ殑浣嶇疆 (Archive Path ), 鍙互閫夋嫨鍙寵竟鐨勬祻瑙堥€夋嫨錛岀浜屼釜鏄?font color="#ff0000">鍘嬬緝鍖呴噷闈㈢殑璺緞 ( Paht within Archive)錛?/font>涔熷彲浠ヤ嬌鐢ㄥ彸杈圭殑嫻忚榪涜閫夋嫨錛屼竴鐩村埌 api 鏂囦歡澶?/font>涓烘銆傚畬鎴愬悗錛屽湪嫻忚鐨勪笅闈㈡湁涓€涓?font color="#ff0000">媯€楠岀殑鎸夐挳 (validate) 鍙互榪涜媯€鏌ャ€?br />9. 瀹屾垚鍚庯紝紜畾鍏抽棴銆?br />
鐜板湪錛屽湪 Java 緙栬緫鍣ㄤ腑閫変腑涓€涓郴緇熺殑鏂規(guī)硶錛屾寜 F1 鍗沖彲鍦ㄥ府鍔╃獥鍙d腑鐪嬪埌瀵瑰簲鐨?JavaDoc 鐨勫府鍔╁叆鍙o紝鐐瑰嚮鍚庯紝灝卞彲浠ョ洿鎺ョ湅鍒板搴旂殑 JavaAPI 鐨?Doc 浜嗐€?br />





haogj 2006-06-04 23:42 鍙戣〃璇勮
]]>
璇︾粏浠嬬粛鍦╰omcat涓厤緗暟鎹簮浠ュ強鏁版嵁婧愮殑鍘熺悊 http://www.aygfsteel.com/haogj/archive/2006/04/24/42893.htmlhaogjhaogjMon, 24 Apr 2006 13:21:00 GMThttp://www.aygfsteel.com/haogj/archive/2006/04/24/42893.htmlhttp://www.aygfsteel.com/haogj/comments/42893.htmlhttp://www.aygfsteel.com/haogj/archive/2006/04/24/42893.html#Feedback3http://www.aygfsteel.com/haogj/comments/commentRss/42893.htmlhttp://www.aygfsteel.com/haogj/services/trackbacks/42893.html
浣滆€?baggio785
鏃ユ湡錛?006-4-24
鍏抽敭璇嶏細(xì)DataSource(鏁版嵁婧?,Tomcat ,榪炴帴姹?/font>

鍓嶈█


鏈枃鏍規(guī)嵁瀹炰緥璇︾粏浠嬬粛浜嗗浣曞湪tomcat涓厤緗暟鎹簮銆傜綉涓婃綾繪枃绔犲緢澶氾紝浣嗘槸鍩烘湰閮芥槸闆峰悓鐨勶紝鑰屼笖瀵逛竴浜涚壒孌婇棶棰樹互鍙婂師鐞嗗茍鏈緇嗛槓榪幫紝鎵€浠ユ兂鏍規(guī)嵁鑷繁鐨勫疄闄呯粡楠岋紝騫剁粨鍚堜緥瀛愬啓涓€綃囪緇嗙殑鏂囩珷銆?/font>
鏈枃鏄伓鐨勪竴浜涙嫏瑙侊紝鏈変笉姝g‘鐨勫湴鏂硅澶у澶氬璇勮鎸囨 銆?/font>

寮€鍙戠幆澧?/strong>

鏈枃鐨勭幆澧冿細(xì)JDK1.4.2錛孴OMCAT5.0.28錛孫racle9i

JDBC綆€浠?/font>

鎻愬埌鏁版嵁婧愶紝閭e氨涓嶈兘涓嶈JDBC銆?span style="FONT-SIZE: 12pt">JDBC鏄?/span>Java Database Connectivity鐨勭緝鍐欍€傚湪java.sql鍖呬腑鎻愪緵浜?/span>JDBC API錛屽畾涔変簡璁塊棶鏁版嵁搴撶殑鎺ュ彛鍜岀被銆備絾鏄?/span>JDBC API涓嶈兘鐩存帴璁塊棶鏁版嵁搴擄紝蹇呴』渚濊禆浜庢暟鎹簱鍘傚晢鎻愪緵鐨?/span>JDBC椹卞姩紼嬪簭錛屽嵆JDBC DRIVER銆?/span>
Java.sql 涓父鐢ㄧ殑鎺ュ彛鍜岀被濡備笅錛?/span>
聽聽聽聽聽聽 Driver 鎺ュ彛鍜?/span> DriverManager 綾?/span>
聽聽聽聽聽聽 Connection
聽聽聽聽聽聽 Statement
聽聽聽聽聽聽 PreparedSataement

聽聽聽聽聽聽 ResultSet

1聽聽聽聽 Driver 鎺ュ彛鍜?/span> DriverManager 綾?/span>
聽聽聽聽聽聽 DriverManager
綾葷敤鏉ュ緩绔嬪拰鏁版嵁搴撶殑榪炴帴浠ュ強綆$悊 JDBC 椹卞姩紼嬪簭錛屽父鐢ㄦ柟娉曞涓嬶細(xì)
鏂規(guī)硶 鎻忚堪
registerDriver(Driver driver) 鍦?/span> DriverManager 涓敞鍐?/span> JDBC 椹卞姩紼嬪簭
getConnection(String url,String user,String pwd) 寤虹珛鍜屾暟鎹簱鐨勮繛鎺ワ紝榪斿洖 Connection 瀵硅薄
setLoginTimeOut(int seconds) 璁懼畾絳夊緟鏁版嵁搴撹繛鎺ョ殑鏈€闀挎椂闂?/span>
setLogWriter(PrintWriter out) 璁懼畾杈撳叆鏁版嵁搴撴棩鑷崇殑 PrintWriter 瀵硅薄
2聽聽聽聽 Connection
聽聽聽聽聽聽 Connection
浠h〃鍜屾暟鎹簱鐨勮繛鎺ワ紝鍏跺父鐢ㄦ柟娉曞涓嬶細(xì)
鏂規(guī)硶 鎻忚堪
getMetaData() 榪斿洖鏁版嵁搴撶殑 MetaData 鏁版嵁銆?/span> MetaData 鏁版嵁鍖呭惈浜嗘暟鎹簱鐨勭浉鍏充俊鎭紝渚嬪褰撳墠鏁版嵁搴撹繛鎺ョ殑鐢ㄦ埛鍚嶃€佷嬌鐢ㄧ殑 JDBC 椹卞姩紼嬪簭銆佹暟鎹簱鍏佽鐨勬渶澶ц繛鎺ユ暟銆佹暟鎹簱鐨勭増鏈瓑絳夈€?/span>
createStatement() 鍒涘緩騫惰繑鍥?/span> Statement 瀵硅薄
PrepareStatement(String sql) 鍒涘緩騫惰繑鍥?/span> prepareStatement 瀵硅薄
3 聽聽聽聽 Statement
聽聽聽聽聽聽 Statement
鐢ㄦ潵鎵ц闈欐€?/span> sql 璇彞銆備緥濡傦紝瀵逛簬 insert 銆?/span> update 銆?/span> delete 璇彞錛岃皟鐢?/span> executeUpdate(String sql) 鏂規(guī)硶錛岃€?/span> select 璇彞鍙互璋冪敤 executeQuery(String sql) 鏂規(guī)硶錛?/span> executeQuery(String sql) 鏂規(guī)硶榪斿洖 ResultSet 瀵硅薄銆?/span>
4 聽聽聽聽 PrepareStatement
聽聽 PrepareStatement
鐢ㄤ簬鎵ц鍔ㄦ€佺殑 sql 璇彞錛屽嵆鍏佽 sql 璇彞涓寘鍚弬鏁般€備嬌鐢ㄦ柟娉曚負(fù)錛?/span>
聽聽 String sql = 鈥渟elect col1 from tablename where col2=? And col3=?鈥?
聽聽 PrepareStatement perpStmt = conn.preparestatement(sql);
聽聽 perpStmt.setstring(1,col2Value);
聽聽聽聽聽 perpStmt.setFloat(2,col3Value);
聽聽聽聽聽 ResultSet rs = perpStmt.executeQuery();
5 聽聽聽聽 ResultSet
ResultSet
鐢ㄦ潵琛ㄧず select 璇彞鏌ヨ寰楀埌鐨勮褰曢泦錛屼竴涓?/span> StateMent 瀵硅薄鍦ㄥ悓涓€鏃跺埢鍙兘鎵撳紑涓€涓?/span> ResultSet 瀵硅薄銆傞€氳繃 ResultSet 鐨?/span> getXXX() 鏂規(guī)硶鏉ュ緱鍒板瓧孌靛€箋€?/span> ResultSet 鎻愪緵浜?/span> getString() 銆?/span> getFloat() 銆?/span> getInt() 絳夋柟娉曘€傚彲浠ラ€氳繃瀛楁鐨勫簭鍙鋒垨鑰呭瓧孌電殑鍚嶅瓧鏉ュ埗瀹氳幏鍙栨煇涓瓧孌電殑鍊箋€備緥濡傦細(xì)鍦ㄤ笂渚嬩腑 getString(0),getString(col1) 閮藉彲浠ヨ幏寰楀瓧孌?/span> col1 鐨勫€箋€?/span>
銆€
浜嬪姟澶勭悊

鍦ㄥ疄闄呭簲鐢ㄤ腑錛屾垜浠細(xì)閬囧埌鍚屾椂鎻愪氦澶氫釜
sql 璇彞錛岃繖浜?/span> sql 璇彞瑕佷箞鍏ㄩ儴鎴愬姛錛岃涔堝叏閮ㄥけ璐ワ紝濡傛灉鍏朵腑涓€鏉℃彁浜ゅけ璐ワ紝鍒欏繀欏繪挙閿€鏁翠釜浜嬪姟銆備負(fù)姝わ紝 Connection 綾繪彁渚涗簡 3 涓帶鍒朵簨鍔$殑鏂規(guī)硶錛?/span>
銆€
鏂規(guī)硶 鎻忚堪
setAutoCommit(boolen autoCommit) 璁劇疆鏄惁鑷姩鎻愪氦浜嬪姟錛岄粯璁や負(fù)鑷姩鎻愪氦 銆?/span>
commit() 鎻愪氦浜嬪姟
rollback() 鎾ら攢浜嬪姟
鍙傝€冧緥瀛愶細(xì)
try{
conn.SetautoCommit(false);
stmt = conn.createstatement();
stmt.executeUpdate(鈥渄elete form table1 where col1=1鈥?;
stmt.eecuteUpdate(鈥渄elete from table2 where col2=1鈥?;
conn.comm.it();
}catch(Exception e){
聽聽聽聽聽聽 e.printStackTrace;
try{
聽聽聽聽聽聽 聽聽聽聽聽聽 conn.rollback();
} catch(Exception e1){
聽聽聽聽聽聽 e1.printStackTrace;
}
}
閫氳繃涓€涓?/span> JSP 渚嬪瓙鏉ヨ闂?/span> oracle 鏁版嵁搴擄細(xì)
<%@ page import=鈥漥ava.util.*鈥?gt;
<%@ page import=鈥漥ava.sql.*鈥?gt;
<%
try{
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
// 鍔犺澆 oracle 椹卞姩紼嬪簭
Class.forName(鈥渙racle.jdbc.driver.OracleDriver.鈥?;
// 娉ㄥ唽 oracle 椹卞姩紼嬪簭
DriverManager.regidterDriver(new oracle.jdbc.driver.OracleDriver());
// 寤虹珛鏁版嵁搴撹繛鎺?/span>
conn=DriverManager.getConnection(鈥渏dbc:oracle:thin:@your db ip:your db port:sid鈥?dbuser,dbpassword);
stmt = conn.createStatement();
rs = stmt.executeQuery(鈥渟elect * from tablename鈥?;
while(rs.next){
聽聽聽聽聽聽 out.print(rs.getstring(鈥渃olname鈥?);
}
}catch(Exception e){
}
finally{
rs.close();
stmt.close();
conn.close();
}
%>

銆€
鏁版嵁婧愮畝浠?/font>

JDBC2.0
鎻愪緵浜?/span> javax.sql.DataSource 鐨勬帴鍙o紝璐熻矗涓庢暟鎹簱寤虹珛榪炴帴錛屽疄闄呭簲鐢ㄦ椂涓嶉渶瑕佺紪鍐欒繛鎺ユ暟鎹簱浠g爜錛岀洿鎺ヤ粠鏁版嵁婧愯幏寰楁暟鎹簱鐨勮繛鎺ャ€?/span> Dataource 涓簨鍏堝緩绔嬩簡澶氫釜鏁版嵁搴撹繛鎺ワ紝榪欎簺鏁版嵁搴撹繛鎺ヤ繚鎸佸湪鏁版嵁搴撹繛鎺ユ睜涓紝褰撶▼搴忚闂暟鎹簱鏃訛紝鍙渶瑕佷粠榪炴帴姹犱粠鍙栧嚭絀洪棽鐨勮繛鎺ワ紝璁塊棶鏁版嵁搴撶粨鏉燂紝鍦ㄥ皢榪欎簺榪炴帴褰掕繕緇欒繛鎺ユ睜銆?/span>
DataSource 瀵硅薄鐢卞鍣紙 Tomcat 錛夋彁渚涳紝涓嶈兘浣跨敤鍒涘緩瀹炰緥鐨勬柟娉曟潵鐢熸垚 DataSource 瀵硅薄錛岃閲囩敤 JAVA 鐨?/span> JNDI 錛?/span> Java Nameing and Directory Interface 錛?/span> java 鍛藉悕鍜岀洰褰曟帴鍙o級鏉ヨ幏寰?/span> DataSource 瀵硅薄鐨勫紩鐢ㄣ€傦紙鍙︽湁涓€縐嶈娉曪細(xì)鈥滃叾瀹炰粠鎶€鏈笂鏉ヨ錛屾暟鎹簮榪炴帴鏂瑰紡鏄笉闇€瑕佺洰褰曟湇鍔$殑錛屾垜浠悓鏍峰彲浠ラ€氳繃搴忓垪鍖栨暟鎹簮瀵硅薄鐩存帴璁塊棶鏂囦歡緋葷粺銆傝繖鐐規(guī)槸闇€瑕佹槑紜殑銆傗€濇劅鍏磋叮鐨勬湅鍙嬪彲浠ヨ瘯璇曘€傦級 JNDI 鏄竴縐嶅皢瀵硅薄鍜屽悕瀛楃粦瀹氱殑鎶€鏈紝瀵硅薄宸ュ巶璐熻矗鐢熶駭鍑哄璞★紝榪欎簺瀵硅薄閮藉拰鍞竴鐨勫悕瀛楃浉緇戝畾銆傜▼搴忎腑鍙互閫氳繃榪欎釜鍚嶅瓧鏉ヨ幏寰楀璞$殑寮曠敤銆?/span> Tomcat 鎶?/span> DataSource 浣滀負(fù)涓€縐嶅彲閰嶇疆鐨?/span> JNDI 璧勬簮鏉ュ鐞嗭紝鐢熸垚 DataSource 瀵硅薄鐨勫伐鍘備負(fù) org.apache.comm.ons.dbcp.BasicDataSourceFactory 銆?/span>

閰嶇疆鏁版嵁婧?/font>

閰嶇疆鏁版嵁婧愬叾瀹炵浉褰撶畝鍗曪細(xì)
棣栧厛鍦?/span> server.xml 涓姞鍏?/span> <Resource> 鍏冪礌錛屾墦寮€ server.xml 錛屽湪 <Context> 涓姞鍏ヤ互涓嬩唬鐮侊紙浠?/span> oracle 涓轟緥錛夛細(xì)
銆€
<Resource name="jdbc/ JNDI 鍚嶅瓧 "
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 auth="Container"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽 type="javax.sql.DataSource"/>
聽<ResourceParams name="jdbc/JNDI 鍚嶅瓧 ">
聽聽聽 <parameter>
聽聽聽聽聽<name>factory</name>
聽聽聽聽聽 <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
聽聽聽 </parameter>
聽聽聽 <parameter>
聽聽聽聽聽 <name>maxActive</name>
聽聽聽聽聽 <value>100</value>
聽聽聽 </parameter>
聽聽聽 <parameter>
聽聽聽聽聽 <name>maxIdle</name>
聽聽聽聽聽 <value>30</value>
聽聽聽 </parameter>
聽聽聽 <parameter>
聽聽聽聽聽 <name>maxWait</name>
聽聽聽聽聽 <value>10000</value>
聽聽聽 </parameter>
聽聽聽 <parameter>
聽聽聽聽 <name>username</name>
聽聽聽聽 <value> 鐢ㄦ埛鍚?/span> </value>
聽聽聽 </parameter>
聽聽聽 <parameter>
聽聽聽聽 <name>password</name>
聽聽聽聽 <value> 瀵嗙爜 </value>
聽聽聽 </parameter>
聽聽聽 <parameter>
聽聽聽聽聽聽 <name>driverClassName</name>
聽聽聽聽聽聽 <value>oracle.jdbc.driver.OracleDriver</value>
聽聽聽 </parameter>
聽聽聽 <parameter>
聽聽 聽聽聽<name>url</name>
聽聽聽聽聽 <value>jdbc:oracle:thin:@ip: 绔彛 :sid </value>
聽聽聽 </parameter>
聽</ResourceParams>
<Resource> 鍏冪礌鐨勫睘鎬у涓嬶細(xì)
灞炴€?/span> 鎻忚堪
name 鎸囧畾 Resource 鐨?/span> JNDI 鐨勫悕瀛?/span>
auth 鎸囧畾綆$悊 Resource 鐨?/span> Manager 錛岀敱涓や釜鍙€夊€鹼細(xì) Container 鍜?/span> Application 銆?/span> Container 琛ㄧず鐢卞鍣ㄦ潵鍒涘緩鍜岀鐞?/span> Resource 錛?/span> Application 琛ㄧず鐢?/span> WEB 搴旂敤鏉ュ垱寤哄拰綆$悊 Resource 銆傚鏋滃湪 web application deployment descriptor 涓嬌鐢?/span> <resource-ref> 錛岃繖涓睘鎬ф槸蹇呴渶鐨勶紝濡傛灉浣跨敤 <resource-env-ref> 錛岃繖涓睘鎬ф槸鍙€夌殑銆?/span>
type 鎸囧畾 Resource 鎵€灞炵殑 java 綾誨悕
<ResourceParams> 鍏冪礌鐨勫睘鎬у涓嬶細(xì)
灞炴€?/span> 鎻忚堪
name 鎸囧畾 ResourceParams 鐨?/span> JNDI 鐨勫悕瀛楋紝蹇呴』鍜?/span> Resource 鐨?/span> name 淇濇寔涓€鑷?/span>
factory 鎸囧畾鐢熸垚 DataSource 瀵硅薄鐨?/span> factory 鐨勭被鍚?/span>
maxActive 鎸囧畾鏁版嵁搴撹繛鎺ユ睜涓浜庢椿鍔ㄧ姸鎬佺殑鏁版嵁搴撹繛鎺ユ渶澶ф暟鐩紝 0 琛ㄧず涓嶅彈闄愬埗
maxIdle 鎸囧畾鏁版嵁搴撹繛鎺ユ睜涓?/span> 澶勪簬 絀洪棽鐘舵€佺殑鏁版嵁搴撹繛鎺ョ殑鏈€澶ф暟鐩紝 0 琛ㄧず涓嶅彈闄愬埗
maxWait 鎸囧畾鏁版嵁搴撹繛鎺ユ睜涓殑鏁版嵁搴撹繛鎺ュ浜庣┖闂茬姸鎬佺殑鏈€闀挎椂闂達(dá)紙鍗曚綅涓烘縐掞級錛岃秴榪囪繖涓€浜嬩歡錛屽皢浼?xì)鎶涘嚭寮傚父銆?/span> -1 琛ㄧず鍙互鏃犻檺鏈熺瓑寰呫€?/span>
username 鎸囧畾榪炴帴鏁版嵁搴撶殑鐢ㄦ埛鍚?/span>
password 鎸囧畾榪炴帴鏁版嵁搴撶殑瀵嗙爜
driverClassName 鎸囧畾榪炴帴鏁版嵁搴撶殑 JDBC 椹卞姩紼嬪簭
url 鎸囧畾榪炴帴鏁版嵁搴撶殑 URL

鍏朵粬鏂囩珷璇翠互涓婇厤緗氨O(jiān)K浜嗭紝瀵逛簬web.xml鐨勯厤緗彲鏈夊彲鏃狅紝鍏跺疄涓嶆槸榪欐牱瀛愮殑銆?span style="FONT-SIZE: 12pt">濡傛灉鍦?/span>web搴旂敤涓闂簡鐢?/span>Servlet瀹瑰櫒綆$悊鐨勬煇涓?/span>JNDI Resource錛屽垯蹇呴』鍦?/span>web.xml涓0鏄庡榪欎釜JNDI Resource鐨勫紩鐢ㄣ€傝〃紺鴻祫婧愬紩鐢ㄧ殑鍏冪礌涓?/span><resource-ref>,璇ュ厓绱犲姞鍦?/span><wepapp></ wepapp >涓€?br />

<resource-ref>
聽聽聽聽 <descryiption>DB Connection</descryiption>
<res-ref-name>jdbc/JNDI 鍚嶅瓧 </ res-ref-name>
<res-type>javax.sql.DataSource </ res- type>
<res-auth>Container </ res- auth>
</resource-ref>

<resource-ref>
鍏冪礌鐨勫睘鎬у涓嬶細(xì)

灞炴€?/span> 鎻忚堪
description 瀵規(guī)墍寮曠敤鐨勮祫婧愮殑璇存槑
res-ref-name 鎸囧畾鎵€寮曠敤璧勬簮鐨?/span> JNDI 鍚嶅瓧錛屼笌 <Resource> 鍏冪礌涓殑 name 灞炴€т繚鎸佷竴鑷?/span>
res-type 鎸囧畾鎵€寮曠敤璧勬簮鐨勭被鍚嶅瓧錛屼笌 <Resource> 鍏冪礌涓殑 type 灞炴€т繚鎸佷竴鑷?/span>
res-auth 鎸囧畾鎵€寮曠敤璧勬簮鐨?/span> Manager 錛屼笌 <Resource> 鍏冪礌涓殑 auth 灞炴€т繚鎸佷竴鑷?/span>

鍒拌繖閲岋紝鏁版嵁婧愬氨宸茬粡閰嶇疆鎴愬姛浜嗐€備絾鏄垜鍦ㄦ祴璇曠殑鏃跺€欓櫎浜嗕竴鐐瑰皬楹葷儲錛屼富瑕佸師鍥犳槸瀵笵ataSource鐨勬蹇墊病鎼炴竻妤氥€傛垜鏄繖涔堟祴璇曠殑錛屽啓涓€涓祴璇曠被錛岀劧鍚庡湪eclipse涓繘琛宩unit嫻嬭瘯錛?/span> 鎹曡幏鐨勫紓甯鎬負(fù)錛?/span>
javax.naming.NoInitialContextException : Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:聽java.naming.factory.initia l 銆?/span>
鍚屾牱鐨勪唬鐮佸湪JSP鏂囦歡涓甯歌繍琛岋紝鍚庢潵緲諱簡涓€浜涜祫鏂欙紝緇堜簬鎵懼埌浜嗛棶棰樼殑鎵€鍦ㄤ簡銆傚師鏉ataSource鏄敱瀹瑰櫒錛圱OMCAT錛夋彁渚涚殑錛屾墍浠ユ垜鐨勬祴璇曚細(xì)鎶涘嚭寮傚父銆備負(fù)浜嗗啀嬈¢獙璇佹兂娉曟槸鍚︽紜紝鍦╦sp鏂囦歡涓璱mport鍒氭墠鎶涘嚭寮傚父鐨勭被錛屽湪榪涜榪炴帴鏁版嵁搴擄紝緇撴灉涓€鍒囨甯搞€?/span>
涓嬮潰鐨勪緥瀛愭槸瀹為檯搴旂敤涓嬌鐢?/span> DataSource 錛屽湪 jsp 鏂囦歡涓繛鎺?/span> oracle 銆?/span>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.naming.*"%>
<%@ page import="javax.sql.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
聽<head>
聽</head>
<body>
<%
Context initContext = new InitialContext();
Context envContext = (Context) initContext.lookup("java:/comp/env");
DataSource db = (DataSource)envContext.lookup("jdbc/javablogorl");
// javablogorl 涓?/span> <Resource> 鍏冪礌涓?/span> name 灞炴€х殑鍊?/span>
Connection conn = db.getConnection( );聽
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM blog_systemadmin");
while(rs.next()){
聽聽聽聽聽聽 out.print(rs.getString("admin_name")+" ");
聽聽聽聽聽聽 out.print(rs.getString("admin_password")+"<br>");
}
rs.close();
stmt.close();
conn.close();
%>聽
聽</body>
</html>
銆€


Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=674822



haogj 2006-04-24 21:21 鍙戣〃璇勮
]]>
ANT鍗佷簲澶ф渶浣?jīng)_疄璺?http://www.aygfsteel.com/haogj/archive/2006/04/24/42892.htmlhaogjhaogjMon, 24 Apr 2006 13:19:00 GMThttp://www.aygfsteel.com/haogj/archive/2006/04/24/42892.htmlhttp://www.aygfsteel.com/haogj/comments/42892.htmlhttp://www.aygfsteel.com/haogj/archive/2006/04/24/42892.html#Feedback1http://www.aygfsteel.com/haogj/comments/commentRss/42892.htmlhttp://www.aygfsteel.com/haogj/services/trackbacks/42892.html

鍦ˋnt鍑虹幇涔嬪墠錛屾瀯寤哄拰閮ㄧ講Java搴旂敤闇€瑕佷嬌鐢ㄥ寘鎷壒瀹氬鉤鍙扮殑鑴氭湰銆丮ake鏂囦歡銆佸悇縐嶇増鏈殑IDE鐢氳嚦鎵嬪伐鎿嶄綔鐨勨€滃ぇ鏉傜儵鈥濄€傜幇鍦紝鍑犱箮鎵€鏈夌殑寮€婧怞ava欏圭洰閮藉湪浣跨敤Ant錛屽ぇ澶氭暟鍏徃鐨勫唴閮ㄩ」鐩篃鍦ㄤ嬌鐢ˋnt銆侫nt鍦ㄨ繖浜涢」鐩腑鐨勫箍娉涗嬌鐢ㄨ嚜鐒跺鑷翠簡璇昏€呭涓€鏁村Ant鏈€浣?jīng)_疄璺電殑榪垏闇€姹傘€?/p>

鏈枃鎬葷粨浜嗘垜鍠滅埍鐨凙nt鎶€宸ф垨鏈€浣?jīng)_疄璺碉紝澶氭暟鏄粠鎴戜翰韜粡鍘嗙殑欏圭洰閿欒鎴栨垜鍚鐨勫叾浠栦漢緇忓巻鐨?鈥滄亹鎬栤€濇晠浜嬩腑寰楀埌鐏墊劅鐨勩€傛瘮濡傦紝鏈変漢鍛婅瘔鎴戞湁涓」鐩妸XDoclet 鐢熸垚鐨勪唬鐮佹斁鍏ュ甫鏈夐攣瀹氭枃浠跺姛鑳界殑鐗堟湰鎺у埗宸ュ叿涓€傚綋寮€鍙戣€呬慨鏀規(guī)簮浠g爜鏃訛紝浠栧繀欏昏浣忔墜宸ユ鍑猴紙Check out錛夊茍閿佸畾鎵€鏈夊皢瑕侀噸鏂扮敓鎴愮殑鏂囦歡銆傜劧鍚庯紝鎵嬪伐榪愯浠g爜鐢熸垚鍣紝鍙埌榪欐椂浠栨墠鑳藉璁〢nt緙栬瘧浠g爜錛岃繖涓€鏂規(guī)硶榪樺瓨鍦ㄥ涓嬩竴浜涢棶棰橈細(xì)

褰撴垜寮€濮嬩竴涓柊欏圭洰鏃訛紝鎴戦鍏堢紪鍐橝nt鏋勫緩鏂囦歡銆侫nt鏂囦歡鏄庣‘鍦板畾涔夋瀯寤虹殑榪囩▼錛屽茍琚洟闃熶腑鐨勬瘡涓▼搴忓憳浣跨敤銆傛湰鏂囨墍鍒楃殑鎶€宸у熀浜庤繖鏍風(fēng)殑鍋囧畾錛欰nt鏋勫緩鏂囦歡鏄竴涓繀欏諱粩緇嗙紪鍐欑殑閲嶈鏂囦歡錛屽畠搴斿湪鐗堟湰鎺у埗緋葷粺涓緱鍒扮淮鎶わ紝騫惰瀹氭湡榪涜閲嶆瀯銆備笅闈㈡槸鎴戠殑鍗佷簲澶nt鏈€浣?jīng)_疄璺點€?/p>

1. 閲囩敤涓€鑷寸殑緙栫爜瑙勮寖

Ant鐢ㄦ埛鏈夌殑鍠滄鏈夌殑鐥涙仺鍏舵瀯寤烘枃浠剁殑XML璇硶銆備笌鍏惰煩榪涜繖涓€浠や漢榪鋒儜鐨勪簤璁轟腑錛屼笉濡傝鎴戜滑鍏堢湅涓€浜涜兘淇濇寔XML鏋勫緩鏂囦歡綆€媧佺殑鏂規(guī)硶銆?/p>

棣栧厛涔熸槸鏈€閲嶈鐨勶紝鑺辮垂鏃墮棿鏍煎紡鍖栦綘鐨刋ML璁╁畠鐪嬩笂鍘誨緢娓呮櫚銆備笉璁篨ML鏄惁緹庤錛孉nt閮藉彲浠ュ伐浣溿€備絾鏄笐闄嬬殑XML寰堥毦浠や漢璇繪噦銆傚€樿嫢浣犲湪浠誨姟涔嬮棿鐣欏嚭絀鴻錛屾湁瑙勫垯鐨勭緝榪涳紝姣忚鏂囧瓧涓嶈秴榪?0鍒楀乏鍙籌紝閭d箞XML浠や漢鎯婅鍦版槗璇匯€傚啀鍔犱笂浣跨敤鑳藉楂樹寒XML璇硶鐨勪紭縐€緙栬緫鍣ㄦ垨IDE宸ュ叿錛屼綘灝變笉浼?xì)鏈夐槄璇荤殑楹荤儲銆?/p>

鍚屾牱錛岀簿閫夊惈鎰忔槑紜€佸鏄撹鎳傜殑璇嶆眹鏉ュ懡鍚嶄換鍔″拰灞炴€с€傛瘮濡傦紝dir.reports灝辨瘮rpts濂?em>銆?/em>鐗瑰畾鐨勭紪鐮佽鑼冨茍涓嶉噸瑕侊紝鍙鎷垮嚭涓€濂楄鑼冨茍鍧氭寔浣跨敤灝辮銆?/p>

2. 灝?em>build.xml鏀懼湪欏圭洰鏍圭洰褰曚腑

Ant鏋勫緩鏂囦歡build.xml鍙互鏀懼湪浠諱綍浣嶇疆錛屼絾鏄斁鍦ㄩ」鐩《綰х洰褰曚腑鍙互淇濇寔欏圭洰綆€媧併€傝繖鏄渶甯哥敤鐨勮鑼冿紝寮€鍙戣€呰兘澶熷湪欏剁駭鐩綍涓壘鍒伴鏈熺殑build.xml銆傛妸鏋勫緩鏂囦歡鏀懼湪鏍圭洰褰曚腑錛屼篃鑳藉浣夸漢瀹規(guī)槗浜嗚В欏圭洰鐩綍鏍?wèi)涓笉鍚岀洰褰曚箣闂寸殑閫昏緫鍏崇郴銆備互涓嬫槸涓€涓吀鍨嬬殑欏圭洰鐩綍灞傛錛?/p>

[root dir]
聽 | build.xml聽
聽 +--src聽
聽 +--lib (鍖呭惈絎笁鏂?JAR鍖?聽
聽 +--build (鐢?build浠誨姟鐢熸垚)聽
聽 +--dist (鐢?build浠誨姟鐢熸垚)

褰?em>build.xml鍦ㄩ《綰х洰褰曟椂錛屽亣璁句綘澶勪簬欏圭洰鏌愪釜瀛愮洰褰曚腑錛屽彧瑕佽緭鍏ワ細(xì)ant -find compile 鍛戒護(hù)錛屼笉闇€瑕佹敼鍙樺伐浣滅洰褰曞氨鑳藉浠ュ懡浠よ鏂瑰紡緙栬瘧浠g爜銆傚弬鏁?find鍛婅瘔Ant瀵繪壘瀛樺湪浜庝笂綰х洰褰曚腑鐨?em>build.xml騫舵墽琛屻€?/p>

3. 浣跨敤鍗曚竴鐨勬瀯寤烘枃浠?/h3>

鏈変漢鍠滄灝嗕竴涓ぇ欏圭洰鍒嗚В鎴愬嚑涓皬鐨勬瀯寤烘枃浠訛紝姣忎釜鏋勫緩鏂囦歡鍒嗘媴鏁翠釜鏋勫緩榪囩▼鐨勪竴灝忛儴鍒嗗伐浣溿€傝繖紜疄鏄湅娉曚笉鍚岀殑闂錛屼絾鏄簲璇ヨ璇嗗埌錛屽皢鏋勫緩鏂囦歡鍒嗗壊浼?xì)澧炲姞瀵规暣浣撴瀯寰彉q囩▼鐨勭悊瑙i毦搴︺€傝娉ㄦ剰鍦ㄥ崟涓€鏋勫緩鏂囦歡鑳藉娓呮琛ㄧ幇鏋勫緩灞傛鐨勬儏鍐典笅涓嶈榪囧伐紼嬪寲(over-engineer)銆?/p>

鍗充嬌浣犳妸欏圭洰鍒掑垎涓哄涓瀯寤烘枃浠訛紝涔熷簲浣跨▼搴忓憳鑳藉鍦ㄩ」鐩牴鐩綍涓嬫壘鍒版牳蹇?em>build.xml銆傚敖綆¤鏂囦歡鍙槸灝嗗疄闄呮瀯寤哄伐浣滃媧劇粰涓嬬駭鏋勫緩鏂囦歡錛屼篃搴斾繚璇佽鏂囦歡鍙敤銆?/p>

4. 鎻愪緵鑹ソ鐨勫府鍔╄鏄?/h3>

搴斿敖閲忎嬌鏋勫緩鏂囦歡鑷枃妗e寲銆傚鍔犱換鍔℃弿榪版槸鏈€綆€鍗曠殑鏂規(guī)硶銆傚綋浣犺緭鍏nt -projecthelp鏃訛紝浣犲氨鍙互鐪嬪埌甯︽湁鎻忚堪鐨勪換鍔℃竻鍗曘€傛瘮濡傦紝浣犲彲浠ヨ繖鏍峰畾涔変換鍔★細(xì)

<target name="compile" 聽
聽聽 description="Compiles code, output goes to the build dir.">

鏈€綆€鍗曠殑瑙勫垯鏄妸鎵€鏈変綘鎯寵紼嬪簭鍛橀€氳繃鍛戒護(hù)琛屽氨鍙互璋冪敤鐨勪換鍔¢兘鍔犱笂鎻忚堪銆傚浜庝竴鑸敤鏉ユ墽琛屼腑闂村鐞嗚繃紼嬬殑鍐呴儴浠誨姟錛屾瘮濡傜敓鎴愪唬鐮佹垨寤虹珛杈撳嚭鐩綍絳夛紝灝辨棤娉曚嬌鐢ㄦ弿榪板睘鎬с€?/p>

榪欐椂錛屽彲浠ラ€氳繃鍦ㄦ瀯寤烘枃浠朵腑鍔犲叆XML娉ㄩ噴鏉ュ鐞嗐€傛垨鑰呬笓闂ㄥ畾涔変竴涓猦elp浠誨姟錛屽綋紼嬪簭鍛樿緭鍏nt help鏃舵潵鏄劇ず璇︾粏鐨勪嬌鐢ㄨ鏄庛€?/p><target name="help" description="Display detailed usage information">
聽 <echo>Detailed help...</echo></target>

5. 鎻愪緵娓呴櫎浠誨姟

姣忎釜鏋勫緩鏂囦歡閮藉簲鍖呭惈涓€涓竻闄や換鍔★紝鐢ㄦ潵鍒犻櫎鎵€鏈夌敓鎴愮殑鏂囦歡鍜岀洰褰曪紝浣跨郴緇熷洖鍒版瀯寤烘枃浠舵墽琛屽墠鐨勫垵濮嬬姸鎬併€傛墽琛屾竻絀轟換鍔″悗榪樺瓨鍦ㄧ殑鏂囦歡閮藉簲澶勫湪鐗堟湰鎺у埗緋葷粺鐨勭鐞嗕箣涓嬨€傛瘮濡傦細(xì)

<target name="clean"
聽聽聽聽description="Destroys all generated files and dirs.">
聽 <delete dir="${dir.build}"/>
聽 <delete dir="${dir.dist}"/>
</target>

闄ら潪鏄湪浜х敓鏁翠釜緋葷粺鐗堟湰鐨勭壒孌婁換鍔′腑錛屽惁鍒欎笉瑕佽嚜鍔ㄨ皟鐢╟lean浠誨姟銆傚綋紼嬪簭鍛樹粎浠呮墽琛岀紪璇戜換鍔℃垨鍏朵粬浠誨姟鏃訛紝浠栦滑涓嶉渶瑕佹瀯寤烘枃浠朵簨鍏堟墽琛屾棦浠や漢璁ㄥ帉鍙堟病鏈夊繀瑕佺殑娓呯┖浠誨姟銆傝鐩鎬俊紼嬪簭鍛樿兘澶熺‘瀹氫綍鏃墮渶瑕佹竻絀烘墍鏈夋枃浠躲€?/p>

6. 浣跨敤ANT綆$悊浠誨姟浠庡睘鍏崇郴

鍋囪浣犵殑搴旂敤鐢盨wing GUI緇勪歡銆乄eb鐣岄潰銆丒JB灞傚拰鍏叡搴旂敤浠g爜緇勬垚銆傚湪澶у瀷緋葷粺涓紝浣犻渶瑕佹竻鏅板湴瀹氫箟姣忎釜Java鍖呭睘浜庣郴緇熺殑鍝竴灞傘€傚惁鍒欎換浣曚竴鐐逛慨鏀歸兘瑕佽榪噸鏂扮紪璇戞垚鐧句笂鍗冧釜鏂囦歡銆傜碂緋曠殑浠誨姟浠庡睘鍏崇郴綆$悊浼?xì)瀵艰嚧杩囧害澶嶆潅鑰岃剢寮辯殑緋葷粺銆傛敼鍙楪UI闈㈡澘鐨勮璁′笉搴旈€犳垚Servlet鍜孍JB鐨勯噸緙栬瘧銆?/p>

褰撶郴緇熷彉寰楀簽澶у悗錛岀◢涓嶆敞鎰忓氨鍙兘灝嗕緷璧栦簬瀹㈡埛绔殑浠g爜寮曞叆鍒版湇鍔$銆傝繖鏄洜涓哄吀鍨嬬殑IDE欏圭洰鏂囦歡緙栬瘧浠諱綍鏂囦歡閮戒嬌鐢ㄥ崟涓€鐨刢lasspath銆傝€孉nt鑳借浣犳洿鏈夋晥鍦版帶鍒舵瀯寤烘椿鍔ㄣ€?/p>

璁捐浣犵殑Ant鏋勫緩鏂囦歡緙栬瘧澶у瀷欏圭洰鐨勬楠わ細(xì)棣栧厛錛岀紪璇戝叕鍏卞簲鐢ㄤ唬鐮侊紝灝嗙紪璇戠粨鏋滄墦鎴怞AR鍖呮枃浠躲€傜劧鍚庯紝緙栬瘧涓婁竴灞傜殑欏圭洰浠g爜錛岀紪璇戞椂渚濋潬絎竴姝ヤ駭鐢熺殑JAR鏂囦歡銆備笉鏂噸澶嶈繖涓€榪囩▼錛岀洿鍒版渶楂樺眰鐨勪唬鐮佺紪璇戝畬鎴愩€?/p>

鍒嗘鏋勫緩寮哄寲浜嗕換鍔′粠灞炲叧緋葷鐞嗐€傚鏋滀綘宸ヤ綔鍦ㄥ簳灞侸ava妗嗘灦涓婏紝鍋剁劧寮曠敤鍒伴珮灞傜殑GUI妯℃澘緇勪歡錛岃繖鏃朵唬鐮佷笉闇€瑕佺紪璇戙€傝繖鏄敱浜庢瀯寤烘枃浠跺湪緙栬瘧搴曞眰妗嗘灦鏃跺湪婧愯礬寰勪腑娌℃湁鍖呭惈楂樺眰GUI闈㈡澘緇勪歡鐨勪唬鐮併€?/p>

7. 瀹氫箟騫墮噸鐢ㄦ枃浠惰礬寰?/h3>

濡傛灉鏂囦歡璺緞鍦ㄤ竴涓湴鏂逛竴嬈℃€ч泦涓畾涔夛紝騫跺湪鏁翠釜鏋勫緩鏂囦歡涓緱鍒伴噸鐢紝閭d箞鏋勫緩鏂囦歡鏇存槗浜庣悊瑙c€備互涓嬫槸榪欐牱鍋氱殑涓€涓緥瀛愶細(xì)

<project name="sample" default="compile" basedir=".">
聽 <path id="classpath.common">
聽聽聽 <pathelement location="${jdom.jar.withpath}"/>
聽聽聽 ...etc聽 </path>
聽 <path id="classpath.client">
聽聽聽 <pathelement location="${guistuff.jar.withpath}"/>
聽聽聽 <pathelement location="${another.jar.withpath}"/>
聽聽聽 <!-- reuse the common classpath -->
聽聽聽 <path refid="classpath.common"/>
聽 </path>
聽 <target name="compile.common" depends="prepare">
聽聽聽 <javac destdir="${dir.build}" srcdir="${dir.src}">
聽聽聽聽聽聽聽聽聽 <classpath refid="classpath.common"/>
聽聽聽聽聽聽聽聽聽 <include name="com/oreilly/common/**"/>
聽聽聽 </javac>
聽 </target>
</project>

褰撻」鐩笉鏂闀挎瀯寤烘棩鐩婂鏉傛椂錛岃繖涓€鎶€鏈秺鍙戜綋鐜板嚭鍏朵環(huán)鍊箋€備綘鍙兘闇€瑕佷負(fù)緙栬瘧涓嶅悓灞傛鐨勫簲鐢ㄥ畾涔夊悇鑷殑鏂囦歡璺緞錛屾瘮濡傝繍琛屽崟鍏冩祴璇曠殑銆佽繍琛屽簲鐢ㄧ▼搴忕殑銆佽繍琛孹doclet鐨勩€佺敓鎴怞avaDocs鐨勭瓑絳変笉鍚岃礬寰勩€傝繖縐嶇粍浠跺寲璺緞瀹氫箟鐨勬柟娉曟瘮涓烘瘡涓換鍔″崟鐙畾涔夎礬寰勮浼樿秺寰楀銆傚惁鍒欙紝寰堝鏄撲涪澶變換鍔′粠灞炲叧緋葷殑杞ㄨ抗銆?/p>

8. 瀹氫箟鎭板綋鐨勪換鍔′粠灞炲叧緋?/h3>

鍋囪dist浠誨姟浠庡睘浜巎ar浠誨姟錛岄偅涔堝摢涓換鍔′粠灞炰簬compile浠誨姟鍝釜浠誨姟浠庡睘浜巔repare浠誨姟鍛紵Ant鏋勫緩鏂囦歡鏈€緇堝畾涔変簡浠誨姟鐨勪粠灞炲叧緋誨浘錛屽畠蹇呴』琚粩緇嗗湴瀹氫箟鍜岀淮鎶ゃ€?/p>

搴旇瀹氭湡媯€鏌ヤ換鍔$殑浠庡睘鍏崇郴浠ヤ繚璇佹瀯寤哄伐浣滃緱鍒版紜墽琛屻€傚ぇ鐨勬瀯寤烘枃浠墮殢鐫€鏃墮棿鎺ㄧЩ瓚嬪悜浜庡鍔犳洿澶氱殑浠誨姟錛屾墍浠ュ埌鏈€鍚庡彲鑳界敱浜庝笉蹇呰鐨勪粠灞炲叧緋誨鑷存瀯寤哄伐浣滈潪甯稿洶闅俱€傛瘮濡傦紝浣犲彲鑳藉彂鐜板湪紼嬪簭鍛樺彧闇€緙栬瘧涓€浜涙病鏈変嬌鐢‥JB鐨凣UI浠g爜鏃跺張閲嶆柊鐢熸垚浜咵JB浠g爜銆?/p>

浠モ€滀紭鍖栤€濈殑鍚嶄箟蹇界暐浠誨姟鐨勪粠灞炲叧緋繪槸鍙︿竴縐嶅父瑙佺殑閿欒銆傝繖縐嶉敊璇揩浣跨▼搴忓憳涓轟簡寰楀埌鎭板綋鐨勭粨鏋滃繀欏昏浣忓茍鎸夌収鐗瑰畾鐨勯『搴忚皟鐢ㄤ竴涓蹭換鍔°€傛洿濂界殑鍋氭硶鏄細(xì)鎻愪緵鎻忚堪娓呮櫚鐨勫叕鍏變換鍔★紝榪欎簺浠誨姟鍖呭惈姝g‘鐨勪換鍔′粠灞炲叧緋伙紱鍙﹀鎻愪緵涓€濂椻€滀笓瀹垛€濅換鍔¤浣犺兘澶熸墜宸ユ墽琛屼釜鍒殑鏋勫緩姝ラ錛岃繖浜涗換鍔′笉鎻愪緵瀹屾暣鐨勬瀯寤鴻繃紼嬶紝浣嗘槸璁╅偅浜涗笓瀹剁敤鎴峰湪蹇€熻€屾伡浜虹殑緙栫爜鏈熼棿鑳藉璺寵繃鏌愪簺姝ラ銆?/p>

9.浣跨敤灞炴€?/h3>

浠諱綍闇€瑕侀厤緗垨鍙兘鍙戠敓鍙樺寲鐨勪俊鎭兘搴斾綔涓篈nt灞炴€у畾涔変笅鏉ャ€傚浜庡湪鏋勫緩鏂囦歡涓嬈″嚭鐜扮殑鍊間篃鍚屾牱澶勭悊銆傚睘鎬ф棦鍙互鍦ㄦ瀯寤烘枃浠跺ご閮ㄥ畾涔夛紝涔熷彲浠ヤ負(fù)浜嗘洿濂界殑鐏墊椿鎬ц€屽湪鍗曠嫭鐨勫睘鎬ф枃浠朵腑瀹氫箟銆備互涓嬫槸鍦ㄦ瀯寤烘枃浠朵腑瀹氫箟灞炴€х殑鏍峰紡錛?/p><project name="sample" default="compile" basedir=".">
聽 <property name="dir.build" value="build"/>
聽 <property name="dir.src" value="src"/>
聽 <property name="jdom.home" value="../java-tools/jdom-b8"/>
聽 <property name="jdom.jar" value="jdom.jar"/>
聽 <property name="jdom.jar.withpath"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽value="${jdom.home}/build/${jdom.jar}"/>
聽聽聽 etc...
</project>

鎴栬€呬綘鍙互浣跨敤灞炴€ф枃浠訛細(xì)

<project name="sample" default="compile" basedir=".">
聽 <property file="sample.properties"/>
聽聽 etc...
</project>

鍦ㄥ睘鎬ф枃浠?sample.properties涓?

dir.build=build
dir.src=src
jdom.home=../java-tools/jdom-b8
jdom.jar=jdom.jarjdom.jar.withpath=${jdom.home}/build/${jdom.jar}

鐢ㄤ竴涓嫭绔嬬殑鏂囦歡瀹氫箟灞炴€ф槸鏈夊ソ澶勭殑錛屽畠鍙互娓呮櫚鍦板畾涔夋瀯寤轟腑鐨勫彲閰嶇疆閮ㄥ垎銆傚彟澶栵紝鍦ㄥ紑鍙戣€呭伐浣滃湪涓嶅悓鎿嶄綔緋葷粺鐨勬儏鍐典笅錛屼綘鍙互鍦ㄤ笉鍚岀殑騫沖彴涓婃彁渚涜鏂囦歡鐨勪笉鍚岀増鏈€?/p>

10. 淇濇寔鏋勫緩榪囩▼鐙珛

涓轟簡鏈€澶ч檺搴︾殑鎵╁睍鎬э紝涓嶈搴旂敤澶栭儴璺緞鍜屽簱鏂囦歡銆傛渶閲嶈鐨勬槸涓嶈渚濊禆浜庣▼搴忓憳鐨凜LASSPATH璁劇疆銆傚彇鑰屼唬涔嬬殑鏄紝鍦ㄦ瀯寤烘枃浠朵腑浣跨敤鐩稿璺緞騫跺畾涔夎嚜宸辯殑璺緞銆傚鏋滀綘寮曠敤浜嗙粷瀵硅礬寰勫C:\java\tools錛屽叾浠栧紑鍙戣€呮湭蹇呬嬌鐢ㄤ笌浣犵浉鍚岀殑鐩綍緇撴瀯錛屾墍浠ュ氨鏃犳硶浣跨敤浣犵殑鏋勫緩鏂囦歡銆?/p>

濡傛灉浣犻儴緗插紑鏀炬簮鐮侀」鐩紝搴旇鎻愪緵鍖呭惈緙栬瘧浠g爜鎵€闇€鐨勬墍鏈塉AR鏂囦歡鐨勫彂琛岀増鏈€傚綋鐒訛紝榪欐槸鍦ㄩ伒瀹堣鍙崗璁殑鍩虹涓娿€傚浜庡唴閮ㄩ」鐩紝鐩稿叧鐨凧AR鏂囦歡閮藉簲鍦ㄧ増鏈帶鍒剁郴緇熺殑綆$悊涓紝騫舵崱鍑猴紙check out錛夊埌澶у閮界煡閬撶殑浣嶇疆銆?/p>

褰撲綘蹇呴』寮曠敤澶栭儴璺緞鏃訛紝搴斿皢璺緞瀹氫箟涓哄睘鎬с€備嬌紼嬪簭鍛樿兘澶熺敤閫傚悎浠栦滑鑷繁鐨勬満鍣ㄧ幆澧冪殑鍙傛暟閲嶈澆榪欎簺灞炴€с€備綘涔熷彲浠ヤ嬌鐢ㄤ互涓嬭娉曞紩鐢ㄧ幆澧冨彉閲忥細(xì)

<property environment="env"/>
<property name="dir.jboss" value="${env.JBOSS_HOME}"/>

11. 浣跨敤鐗堟湰鎺у埗緋葷粺

鏋勫緩鏂囦歡鏄竴涓噸瑕佺殑鍒跺搧錛屽簲璇ュ儚浠g爜涓€鏍瘋繘琛岀増鏈帶鍒躲€傚綋浣犳爣璁頒綘鐨勪唬鐮佹椂錛屼篃搴旂敤鍚屾牱鐨勬爣絳炬爣璁版瀯寤烘枃浠躲€傝繖鏍峰綋浣犻渶瑕佸洖婧埌鏃х増鏈茍榪涜鏋勫緩鏃訛紝鑳藉浣跨敤鐩稿簲鐗堟湰鐨勬瀯寤烘枃浠躲€?/p>

闄ゆ瀯寤烘枃浠朵箣澶栵紝浣犺繕搴斿湪鐗堟湰鎺у埗涓淮鎶ょ涓夋柟JAR鏂囦歡銆傚悓鏍鳳紝榪欎嬌浣犺兘澶熼噸鏂版瀯寤烘棫鐗堟湰鐨勮蔣浠躲€傝繖涔熻兘澶熸洿瀹規(guī)槗淇濊瘉鎵€鏈夊紑鍙戣€呮嫢鏈変竴鑷寸殑JAR鏂囦歡錛屽洜涓轟粬浠兘鏄悓鏋勫緩鏂囦歡涓€璧蜂粠鐗堟湰鎺у埗緋葷粺涓崱鍑虹殑銆?/p>

閫氬父搴旈伩鍏嶅湪鐗堟湰鎺у埗緋葷粺涓瓨鏀炬瀯寤烘垚鏋溿€傚€樿嫢浣犵殑婧愪唬鐮佸緢濂藉湴寰楀埌浜嗙増鏈帶鍒訛紝閭d箞閫氳繃鏋勫緩榪囩▼浣犺兘澶熼噸鏂扮敓鎴愪換浣曠増鏈殑浜у搧銆?/p>

12. 鎶夾nt浣滀負(fù)鈥滄渶灝忓叕鍒嗘瘝鈥?/h3>

鍋囪浣犵殑寮€鍙戝洟闃熶嬌鐢↖DE宸ュ叿錛屽綋紼嬪簭鍛橀€氳繃鐐瑰嚮鍥炬爣灝辮兘澶熸瀯寤烘暣涓簲鐢ㄦ椂涓轟粈涔堣繕瑕佷負(fù)Ant鑰岀儲鎭煎憿錛?/p>

IDE鐨勯棶棰樻槸涓€涓叧浜庡洟闃熶竴鑷存€у拰閲嶇幇鎬х殑闂銆傚嚑涔庢墍鏈夌殑IDE璁捐鍒濊》閮芥槸涓轟簡鎻愰珮紼嬪簭鍛樼殑涓漢鐢熶駭鐜囷紝鑰屼笉鏄紑鍙戝洟闃熺殑鎸佺畫鏋勫緩銆傚吀鍨嬬殑IDE瑕佹眰姣忎釜紼嬪簭鍛樺畾涔夎嚜宸辯殑欏圭洰鏂囦歡銆傜▼搴忓憳鍙兘鎷ユ湁涓嶅悓鐨勭洰褰曠粨鏋勶紝鍙兘浣跨敤涓嶅悓鐗堟湰鐨勫簱鏂囦歡錛岃繕鍙兘宸ヤ綔鍦ㄤ笉鍚岀殑騫沖彴涓娿€傝繖灝嗗鑷村嚭鐜拌繖縐嶆儏鍐碉細(xì)鍦˙ob閭i噷榪愯鑹ソ鐨勪唬鐮侊紝鍒癝ally閭i噷灝辨棤娉曡繍琛屻€?/p>

涓嶇浣犵殑寮€鍙戝洟闃熶嬌鐢ㄤ綍縐岻DE錛屼竴瀹氳寤虹珛鎵€鏈夌▼搴忓憳閮借兘澶熶嬌鐢ㄧ殑Ant鏋勫緩鏂囦歡銆傝寤虹珛涓€涓▼搴忓憳鍦ㄥ皢鏂頒唬鐮佹彁浜ょ増鏈帶鍒剁郴緇熷墠蹇呴』鎵цAnt鏋勫緩鏂囦歡鐨勮鍒欍€傝繖灝嗙‘淇濅唬鐮佹槸緇忚繃鍚屼竴涓狝nt鏋勫緩鏂囦歡鏋勫緩鐨勩€傚綋鍑虹幇闂鏃訛紝瑕佷嬌鐢ㄩ」鐩爣鍑嗙殑Ant鏋勫緩鏂囦歡錛岃€屼笉鏄€氳繃鏌愪釜IDE鏉ユ墽琛屼竴涓共鍑€鐨勬瀯寤恒€?/p>

紼嬪簭鍛樺彲浠ヨ嚜鐢遍€夋嫨浠諱綍浠栦滑涔?fàn)鎯娇鐢ㄧ殑IDE宸ュ叿鎴栫紪杈戝櫒銆備絾鏄疉nt搴斾綔涓哄叕鍏卞熀綰夸互淇濊瘉浠g爜姘歌繙鏄彲鏋勫緩鐨勩€?/p>

13. 浣跨敤zipfileset灞炴€?/h3>

浜轟滑緇忓父浣跨敤Ant浜х敓WAR銆丣AR銆乑IP鍜?EAR鏂囦歡銆傝繖浜涙枃浠墮€氬父閮借姹傛湁涓€涓壒瀹氱殑鍐呴儴鐩綍緇撴瀯錛屼絾鍏跺線寰€涓庝綘鐨勬簮浠g爜鍜岀紪璇戠幆澧冪殑鐩綍緇撴瀯涓嶅尮閰嶃€?/p>

涓€涓渶甯哥敤鐨勬柟娉曟槸鍐欎竴涓狝nt浠誨姟錛屾寜鐓ф湡鏈涚殑鐩綍緇撴瀯鎶婁竴澶у爢鏂囦歡鎷瘋礉鍒頒復(fù)鏃剁洰褰曚腑錛岀劧鍚庣敓鎴愬帇緙╂枃浠躲€傝繖涓嶆槸鏈€鏈夋晥鐨勬柟娉曘€備嬌鐢▃ipfileset灞炴€ф槸鏇村ソ鐨勮В鍐蟲柟妗堛€傚畠璁╀綘浠庝換浣曚綅緗€夋嫨鏂囦歡錛岀劧鍚庢妸瀹冧滑鎸夌収涓嶅悓鐩綍緇撴瀯鏀捐繘鍘嬬緝鏂囦歡涓€備互涓嬫槸涓€涓緥瀛愶細(xì)

<ear earfile="${dir.dist.server}/payroll.ear"
聽聽聽 appxml="${dir.resources}/application.xml">
聽 <fileset dir="${dir.build}" includes="commonServer.jar"/>
聽 <fileset dir="${dir.build}">
聽聽聽 <include name="payroll-ejb.jar"/>
聽 </fileset>
聽 <zipfileset dir="${dir.build}" prefix="lib">
聽 聽聽<include name="hr.jar"/>
聽聽聽 <include name="billing.jar"/>
聽 </zipfileset>
聽 <fileset dir=".">
聽聽聽 <include name="lib/jdom.jar"/>
聽聽聽 <include name="lib/log4j.jar"/>
聽聽聽 <include name="lib/ojdbc14.jar"/>
聽 </fileset>
聽 <zipfileset dir="${dir.generated.src}" prefix="META-INF">
聽聽聽 <include name="jboss-app.xml"/>
聽 </zipfileset>
</ear>

鍦ㄨ繖涓緥瀛愪腑錛屾墍鏈塉AR鏂囦歡閮芥斁鍦‥AR鏂囦歡鍖呯殑lib鐩綍涓€俬r.jar鍜宐illing.jar鏄粠鏋勫緩鐩綍鎷瘋礉榪囨潵鐨勩€傚洜姝ゆ垜浠嬌鐢▃ipfileset灞炴€ф妸瀹冧滑縐誨姩鍒癊AR鏂囦歡鍖呭唴閮ㄧ殑lib鐩綍銆俻refix灞炴€ф寚瀹氫簡鍏跺湪EAR鏂囦歡涓殑鐩爣璺緞銆?/p>

14. 嫻嬭瘯Clean浠誨姟

鍋囪浣犵殑鏋勫緩鏂囦歡涓湁clean鍜宑ompile鐨勪換鍔★紝鎵ц浠ヤ笅鐨勬祴璇曘€傜涓€姝ワ紝鎵цant clean錛涚浜屾錛屾墽琛宎nt compile錛涚涓夋錛屽啀鎵цant compile銆傜涓夋搴旇涓嶄綔浠諱綍浜嬫儏銆傚鏋滄枃浠跺啀嬈¤緙栬瘧錛岃鏄庝綘鐨勬瀯寤烘枃浠舵湁闂銆?/p>

鏋勫緩鏂囦歡搴旇鍙湪涓庤緭鍑烘枃浠剁浉鍏寵仈鐨勮緭鍏ユ枃浠跺彂鐢熷彉鍖栨椂鎵ц浠誨姟銆備竴涓瀯寤烘枃浠跺湪涓嶅繀鎵ц璇稿緙栬瘧銆佹嫹璐濇垨鍏朵粬宸ヤ綔浠誨姟鐨勬椂鍊欐墽琛岃繖浜涗換鍔℃槸浣庢晥鐨勩€傚綋欏圭洰瑙勬ā澧為暱鏃訛紝鍗充嬌鏄皬鐨勪綆鏁堝伐浣滀篃浼?xì)鎴愪负澶х殑闂銆?/p>

15. 閬垮厤鐗瑰畾騫沖彴鐨凙nt灝佽

涓嶇浠€涔堝師鍥狅紝鏈変漢鍠滄鐢ㄧ畝鍗曠殑銆佸悕縐板彨鍋?em>compile涔嬬被鐨勬壒鏂囦歡鎴栬剼鏈杞戒粬浠殑浜у搧銆傚綋浣犲幓鐪嬭剼鏈殑鍐呭浣犱細(xì)鍙戠幇浠ヤ笅鍐呭錛?/p>

ant compile

鍏跺疄寮€鍙戜漢鍛橀兘寰堢啛鎮(zhèn)堿nt錛屽茍涓斿畬鍏ㄨ兘澶熻嚜宸遍敭鍏nt compile銆傝涓嶈浠呬粎涓轟簡璋冪敤Ant鑰屼嬌鐢ㄧ壒瀹氬鉤鍙扮殑鑴氭湰銆傝繖鍙細(xì)浣垮叾浠栦漢鍦ㄩ嬈′嬌鐢ㄤ綘鐨勮剼鏈椂澧炲姞瀛︿範(fàn)鍜岀悊瑙g殑鐑︽壈銆傞櫎姝や箣澶栵紝浣犱笉鍙兘鎻愪緵閫傜敤浜庢瘡涓搷浣滅郴緇熺殑鑴氭湰錛岃繖鏄湡姝g儲鎵板叾浠栫敤鎴風(fēng)殑鍦版柟銆?/p>

鎬葷粨

澶鐨勫叕鍙鎬緷闈犳墜宸ユ柟娉曞拰鐗瑰埆紼嬪簭鏉ョ紪璇戜唬鐮佸拰鐢熸垚杞歡鍙戝竷鐗堟湰銆傞偅浜涗笉浣跨敤Ant鎴栫被浼煎伐鍏峰畾涔夋瀯寤鴻繃紼嬬殑寮€鍙戝洟闃燂紝鑺辮垂浜嗗お澶氱殑鏃墮棿鏉ユ崟鎹変唬鐮佺紪璇戣繃紼嬩腑鍑虹幇鐨勯棶棰橈細(xì)鍦ㄦ煇浜涘紑鍙戣€呴偅閲岀紪璇戞垚鍔熺殑浠g爜錛屽埌鍙︿竴浜涘紑鍙戣€呴偅閲屽嵈澶辮觸浜嗐€?/p>

鐢熸垚騫剁淮鎶ゆ瀯寤鴻剼鏈笉鏄竴欏瑰瘜鏈夐瓍鍔涚殑宸ヤ綔錛屼絾鍗存槸涓€欏瑰繀闇€鐨勫伐浣溿€備竴涓ソ鐨凙nt鏋勫緩鏂囦歡灝嗕嬌浣犺兘澶熼泦涓埌鏇村枩嬈㈢殑宸ヤ綔鈥斺€斿啓浠g爜涓幓錛?/p>

鍙傝€?/h3>

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=675230



haogj 2006-04-24 21:19 鍙戣〃璇勮
]]>
濂囨€殑 Java 鏃ユ湡http://www.aygfsteel.com/haogj/archive/2006/04/18/41746.htmlhaogjhaogjTue, 18 Apr 2006 13:04:00 GMThttp://www.aygfsteel.com/haogj/archive/2006/04/18/41746.htmlhttp://www.aygfsteel.com/haogj/comments/41746.htmlhttp://www.aygfsteel.com/haogj/archive/2006/04/18/41746.html#Feedback0http://www.aygfsteel.com/haogj/comments/commentRss/41746.htmlhttp://www.aygfsteel.com/haogj/services/trackbacks/41746.html聽聽Calendar cal = Calendar.getInstance();
聽聽cal.set(1999, 12, 31);
聽聽System.out.println( cal.get(Calendar.YEAR) +"");

榪欎笁琛屼唬鐮佺殑鎵ц緇撴灉鏄粈涔堬紵

鏄?1999 鍚楋紵

浣嗘槸瀹冩病鏈夛紝緇撴灉鏄?2000銆傛槸鍗冨勾铏棶棰樺悧錛?br />
聽聽聽聽聽聽聽 浜嬫儏姣旀垜浠兂璞$殑榪樿緋熺硶錛氳繖鏄嚧鍛界殑 Date/Calendar 闂銆傚湪 Java 1.0 鍙戝竷鐨勬椂鍊欙紝錛屽畠鍞竴鏀寔鐨勬棩鍘嗚綆楃被灝辨槸 Date 綾匯€傜敱浜庤繖涓被鏈夎澶氱殑闂錛屽洜姝わ紝鍦?1.1 鐗堢殑鏃跺€欙紝Calendar 綾昏娣誨姞鍒?Java 涓紝浠ョ籂姝?Date 鐨勭己鐐癸紝涓嶅垢鐨勬槸錛岄棶棰樻洿澶氫簡銆?br />聽
聽聽聽聽聽聽聽 鎴戜滑涔?fàn)鎯笂灏喗W竴涓湀褰撲綔 1錛屽洜姝?12聽 鍙互鐢ㄦ潵琛ㄧず 12 鏈堬紝涓嶅垢鐨勬槸錛孌ate 鐨勬湀浠借〃紺轟粠 0 寮€濮嬶紝鍥犳 12 鏈堝皢鐢?11 鏉ヨ〃紺猴紝鑰屼笖 Calendar 緇х畫寤剁畫浜嗚繖涓敊璇€傚洜姝や笂闈㈢殑浠g爜灝嗘湀浠借緗負(fù)浜?13 鏈堬紝浣嗘槸瀹為檯鐨勬湀浠藉彧鏈?12 涓湀錛屼唬鐮佸簲璇ユ姏鍑轟竴涓紓甯革紝閫氱煡鎴戜滑鍙戠敓浜嗕粈涔堬紝浠栧簲璇ヨ繖涔堝仛錛屽彲鏄紝瀹冩病鏈夛紝瀹冪洿鎺ヨ涓鴻繖搴旇鏄笅涓€涓湀錛屼篃灝辨槸 2000 騫寸殑 1 鏈堛€傚洜姝ゆ垜浠笂闈㈢殑浠g爜杈撳嚭緇撴灉涓?2000銆?br />
Date d = cal.getTime();
System.out.println( d.getDay());

鍐嶇湅榪欎袱琛屼唬鐮佺殑緇撴灉鏄粈涔堬紵

鏄?31 鍚?

緇撴灉鏄?1

聽聽聽聽聽聽聽 鎴戜滑鍦ㄥ墠闈㈠皢鏃ユ湡璁句負(fù)浜?31 鏃ワ紝鍦?cal.getTime() 涓繑鍥炰簡涓€涓?Date 綾誨瀷鐨勬棩鏈燂紝榪欎釜鏃ユ湡涔熷簲璇ユ槸 31 錛屼負(fù)浠€涔堟槸 1 鍛紵

聽聽聽聽聽聽聽 榪樻槸鏌ヤ竴涓?JavaDoc 鍚э紝 Date.getDay 榪斿洖鐨勫疄闄呬笂鏄棩鏈熺殑鏄熸湡鏁幫紝涔熷氨鏄繑鍥炵殑緇撴灉鏄槦鏈熷嚑錛岃€屼笉鏄湀浠戒腑鐨勬棩鏈熴€傝繖涓€間粠鏄熸湡澶╁紑濮嬭綆楋紝浠幝? 寮€濮嬶紝鍥犳錛屾墦鍗?1聽 琛ㄧず 2000騫?2鏈?1鏃ユ槸鏄熸湡涓€銆傛敞鎰忎竴涓嬪惂錛?Calendar 鐨勬柟娉?get( Calendar.DAY_OF_WEEK) 涓嶇煡閬撲負(fù)浠€涔堣繑鍥炵殑鏄熀浜?1聽寮€濮嬬殑鏄熸湡鏃ユ湡錛岃€屼笉鏄熀浜?0 寮€濮嬬殑鏄熸湡鏃ユ湡銆?br />
聽聽聽 浠ヤ笂鍐呭鍙栬嚜 銆奐ava 瑙f儜銆?P144
聽聽聽聽聽聽聽




haogj 2006-04-18 21:04 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 平陆县| 普陀区| 巴中市| 浦县| 龙山县| 长岭县| 佛坪县| 彝良县| 枣阳市| 迁安市| 龙山县| 石景山区| 通江县| 社会| 武汉市| 当雄县| 丹棱县| 隆子县| 米脂县| 安阳市| 鹤山市| 合江县| 纳雍县| 枣庄市| 阳泉市| 灵台县| 康马县| 同江市| 阿拉尔市| 洪雅县| 瓦房店市| 潼关县| 上饶县| 洛川县| 黄浦区| 横峰县| 长寿区| 贞丰县| 成安县| 南丰县| 沂水县|