#
畢業(yè)后,有人工作,有人繼續(xù)上學,大家千萬不要錯過這篇文章,能看到這篇文章也是一種幸運,真的受益匪淺,對我有很大啟迪,這篇文章將會改變我的一生,真的太好了,希望與有緣人分享,也希望對有緣人有所幫助!這篇文章有點長,但是希望你能夠耐心的看完,看完之后有種“相見恨晚”的感覺,特別激動,希望大家好好的珍藏這篇文章,相信多年以后,再來看這篇文章,一定有不同的感覺。
正如”打工皇帝”唐駿說:”我覺得有兩種人不要跟別人爭利益和價值回報。第一種人就是剛剛進入企業(yè)的人,頭5年千萬不要說你能不能多給我一點兒工資,最重要的是能在企業(yè)里學到什么,對發(fā)展是不是有利……”
人總是從平坦中獲得的教益少,從磨難中獲得的教益多;從平坦中獲得的教益淺,從磨難中獲得的教益深。一個人在年輕時經歷磨難,如能正確視之,沖出黑暗,那就是一個值得敬慕的人。最要緊的是先練好內功,畢業(yè)后這5年就是練內功的最佳時期,練好內功,才有可能在未來攀得更高。
出路在哪里?出路在于思路!
其實,沒有錢、沒有經驗、沒有閱歷、沒有社會關系,這些都不可怕。沒有錢,可以通過辛勤勞動去賺;沒有經驗,可以通過實踐操作去總結;沒有閱歷,可以一步一步去積累;沒有社會關系,可以一點一點去編織。但是,沒有夢想、沒有思路才是最可怕的,才讓人感到恐懼,很想逃避!
人必須有一個正確的方向。無論你多么意氣風發(fā),無論你是多么足智多謀,無論你花費了多大的心血,如果沒有一個明確的方向,就會過得很茫然,漸漸就喪失了斗志,忘卻了最初的夢想,就會走上彎路甚至不歸路,枉費了自己的聰明才智,誤了自己的青春年華。
荷馬史詩《奧德賽》中有一句至理名言:”沒有比漫無目的地徘徊更令人無法忍受的了。”畢業(yè)后這5年里的迷茫,會造成10年后的恐慌,20年后的掙扎,甚至一輩子的平庸。如果不能在畢業(yè)這5年盡快沖出困惑、走出迷霧,我們實在是無顏面對10年后、20年后的自己。畢業(yè)這5年里,我們既有很多的不確定,也有很多的可能性。
畢業(yè)這5年里,我們既有很多的待定,也有很多的決定。
迷茫與困惑誰都會經歷,恐懼與逃避誰都曾經有過,但不要把迷茫與困惑當作可以自我放棄、甘于平庸的借口,更不要成為自怨自艾、祭奠失意的苦酒。生命需要自己去承擔,命運更需要自己去把握。在畢業(yè)這5年里,越早找到方向,越早走出困惑,就越容易在人生道路上取得成就、創(chuàng)造精彩。無頭蒼蠅找不到方向,才會四處碰壁;一個人找不到出路,才會迷茫、恐懼。
生活中,面對困境,我們常常會有走投無路的感覺。不要氣餒,堅持下去,要相信年輕的人生沒有絕路,困境在前方,希望在拐角。只要我們有了正確的思路,就一定能少走彎路,找到出路!
成功的人不是贏在起點,而是贏在轉折點。
不少剛剛畢業(yè)的年輕人,總是奢望馬上就能找到自己理想中的工作。然而,很多好工作是無法等來的,你必須選擇一份工作作為歷練。職業(yè)旅程中的第一份工作,無疑是踏入社會這所大學的起點。也許你找了一份差強人意的工作,那么從這里出發(fā),好好地沉淀自己,從這份工作中汲取到有價值的營養(yǎng),厚積薄發(fā)。千里之行,始于足下,只要出發(fā),就有希望到達終點。
起點可以相同,但是選擇了不同的拐點,終點就會大大不同!
畢業(yè)這幾年,我們的生活、感情、職業(yè)等都存在很多不確定的因素,未來也充滿了各種可能。這個時候,必須學會選擇,懂得放棄,給自己一個明確的定位,使自己穩(wěn)定下來。如果你不主動定位,就會被別人和社會”定型”!
可以這么說:一個人在畢業(yè)這5年培養(yǎng)起來的行為習慣,將決定他一生的高度。我們能否成功,在某種程度上取決于自己對自己的評價,這就是定位。你給自己定位是什么,你就是什么。定位能決定人生,定位能改變命運。丑小鴨變成白天鵝,只要一雙翅膀;灰姑娘變成美公主,只要一雙水晶鞋。
人的命,三分天注定,七分靠打拼,有夢就”會紅”,愛拼才會贏。只要不把自己束縛在心靈的牢籠里,誰也束縛不了你去展翅高飛。
現(xiàn)實情況遠非他們所想的那樣。于是,當優(yōu)越感逐漸轉為失落感甚至挫敗感時,當由堅信自己是一塊”金子”到懷疑自己是一粒”沙子”時,憤怒、迷茫、自卑就開始與日俱增。
其實,應該仔細掂量一下自己,你是否真是金子?是真金,手中要有絕活,才能上要有過人之處才行。一句話:真金是要靠實力來證明的,只有先把自己的本領修煉好了,才有資格考慮伯樂的事情
每顆珍珠原本都是一粒沙子,但并不是每一粒沙子都能成為一顆珍珠。
想要卓爾不群,就要有鶴立雞群的資本。忍受不了打擊和挫折,承受不住忽視和平淡,就很難達到輝煌。年輕人要想讓自己得到重用,取得成功,就必須把自己從一粒沙子變成一顆價值連城的珍珠。
天有下雨與日出,人生高峰與低谷。
莫為浮云遮望眼,風物長宜放眼量。
只要拂去陰霾,就能亮出朗朗晴空。如果你在工作上有些不如意,要相信自己不會一直處于人生的低谷期,總有一天能沖破重重云層。告訴自己:我并沒有失敗,只是暫時沒有成功!只要在內心點亮一盞希望之燈,一定能驅散黑暗中的陰霾,迎來光明。
的確,論資歷,他們是不折不扣的職場菜鳥,業(yè)務涉及不深,人脈一窮二白,在工作中經常碰壁。他們的壓力并不一定都像千鈞大石,而是像大雨來臨前的天色,灰色低沉,明明有空間,卻被灰色填滿每個縫隙,只能等待大雨傾盆之后的晴空。
”起得比雞早,睡得比狗晚,干得比驢多,吃得比豬差。”這是很多剛剛畢業(yè)的人喜歡用來調侃自己生活狀態(tài)的話。雖然有點兒夸張,但是,他們中的很多人的確一直都被灰色心情所籠罩–心里永遠是多云轉陰。記得有位哲人曾說:”我們的痛苦不是問題本身帶來的,而是我們對這些問題的看法產生的。”換個角度看人生,是一種突破、一種解脫、一種超越、一種高層次的淡泊與寧靜,從而獲得自由自在的快樂。
一位哲人說:”人生就是一連串的抉擇,每個人的前途與命運,完全把握在自己手中,只要努力,終會有成。”就業(yè)也好,擇業(yè)也罷,創(chuàng)業(yè)亦如此,只要奮發(fā)努力,都會成功。你是不是準備把生命的承諾全部都交給別人?
畢業(yè)后這5年,是改變自己命運的黃金時期。在最能決定自己命運時,如果還不把握,那你還要等到什么時候呢?我的人生我做主,命運由己不由人。
不要活在別人的嘴里,不要活在別人的眼里,而是把命運握在自己手里。
別說你沒有背景,自己就是最大的背景。美國作家杰克·凱魯亞克說過一句話:”我還年輕,我渴望上路。”在人生的旅途中,我們永遠都是年輕人,每天都應該滿懷渴望。每個人的潛能都是無限的,關鍵是要發(fā)現(xiàn)自己的潛能和正確認識自己的才能,并找到一個能充分發(fā)揮潛能的舞臺,而不能只為舞臺的不合適感到不快。要客觀公正地看待自己的能力,結合自己的實際情況和愛好冷靜選擇,盡可能到最需要自己、最適合自己的地方。
在人力資源管理界,特別流行一個說法,即”騎馬,牽牛,趕豬,打狗”理論:人品很好,能力又很強的,是千里馬,我們要騎著他;人品很好但能力普通的,是老黃牛,我們要牽著他;人品、能力皆普通的,就是”豬”,我們要趕走他;人品很差能力很強的,那是”狗”,我們要打擊他。
我想,剛剛畢業(yè)幾年的你,一樣胸懷大志,一樣想成為一匹被人賞識、馳騁沙場的千里馬吧?那么,就好好沉淀下來。低就一層不等于低人一等,今日的俯低是為了明天的高就。所謂生命的價值,就是我們的存在對別人有價值。能被人利用是一件好事,無人問津才是真正的悲哀!
能干工作、干好工作是職場生存的基本保障。
任何人做工作的前提條件都是他的能力能夠勝任這項工作。能干是合格員工最基本的標準,肯干則是一種態(tài)度。一個職位有很多人都能勝任,都有干好這份工作的基本能力,然而,能否把工作做得更好一些,就要看是否具有踏實肯干、苦于鉆研的工作態(tài)度了。
在能干的基礎上踏實肯干。
工作中,活干得比別人多,你覺得吃虧;錢拿得比別人少,你覺得吃虧;經常加班加點,你覺得吃虧……其實,沒必要這樣計較,吃虧不是災難,不是失敗,吃虧也是一種生活哲學。現(xiàn)在吃點兒小虧,為成功鋪就道路,也許在未來的某個時刻,你的大福突然就來了。
能吃虧是做人的一種境界,是處世的一種睿智。
在工作中并不是多做事或多幫別人干點兒活就是吃虧。如果領導讓你加加班、趕趕任務,別以為自己吃了大虧,反而應該感到慶幸,因為領導只叫了你,而沒叫其他人,說明他信任你、賞識你。吃虧是一種貢獻,你貢獻得越多,得到的回報也就越多。樂于加班,就是這樣的一種吃虧。
舍得舍得,有舍才有得;學會在適當時吃些虧的人絕對不是弱智,而是大智。
給別人留余地就是給自己留余地,予人方便就是予己方便,善待別人就是善待自己。
傻人有傻福,因為傻人沒有心計。和這樣的人在一起,身心放松,沒有太多警惕,就能相互靠近。傻在很多時候意味著執(zhí)著和忠貞,也意味著寬厚和誠實,讓人不知不覺站到他一邊。傻人無意中得到的,比聰明人費盡心機得到的還多。畢業(yè)這幾年,你的天空中只飄著幾片雪花,這樣你就滿足了嗎?成功需要堅持與積累,與其專注于搜集雪花,不如省下力氣去滾雪球。巴菲特說:”人生就像滾雪球,最重要的是發(fā)現(xiàn)很濕的雪和很長的坡。”讓自己沉淀下來,學著發(fā)現(xiàn)”很濕的雪”,努力尋找”很長的坡”。記住:散落的雪花會很快融化,化為烏有,只有雪球才更實在,才能長久。
在畢業(yè)這幾年里,你要是能做到比別人多付出一分努力,就意味著比別人多積累一分資本,就比別人多一次成功的機會。
什么是職業(yè)化呢?職業(yè)化就是工作狀態(tài)的標準化、規(guī)范化、制度化,即在合適的時間、合適的地點用合適的方式說合適的話、做合適的事,使知識、技能、觀念、思維、態(tài)度、心理等符合職業(yè)規(guī)范和標準。”在每個行業(yè)里,都有很多出色的人才,他們之所以能存在,是因為比別人更努力、更智慧、更成熟。但是,最重要的是,他們比一般人更加職業(yè)化!這就是為什么我現(xiàn)在能當你老板的原因。一個人僅僅專業(yè)化是不夠的,只有職業(yè)化的人才能飛在別人前面,讓人難以超越!”不要以為我們現(xiàn)在已經生存得很安穩(wěn)了。對于畢業(yè)5年的人來講,一定要認清即將面臨的五大挑戰(zhàn)。
一、贍養(yǎng)父母。
二、結婚生子。
三、升職加薪。
四、工作壓力。
五、生活質量。
有的人為生存而雀躍,目光總是停在身后,三天打魚兩天曬網(wǎng),有始無終。
有的人為發(fā)展而奮斗,目光總是盯在正前方,每天進步一點點,堅持不懈。
畢業(yè)這幾年,不能沒有追求和探索,不能沒有理想和目標。人生如逆水行舟,不進則退。甘于現(xiàn)狀的生活就是不再前行的船,再也無法追上時代前進的步伐。一定要抓緊每一秒鐘的時間來學習,要明白學習不是學生的專利。小聰明的人最得意的是:自己做過什么?大智慧的人最渴望的是:自己還要做什么?
小聰明是戰(zhàn)術,大智慧是戰(zhàn)略;小聰明看到的是芝麻,大智慧看到的是西瓜。
在這個世界上,既有大人物,也有小角色,大人物有大人物的活法,小人物有小人物的瀟灑,每個人都有自己的生活方式,誰也勉強不了誰。但是,小聰明只能有小成績和小視野,大智慧才能有大成就和大境界。小企業(yè)看老板,中企業(yè)看制度,大企業(yè)看文化。
小公司與大企業(yè)都有生存之道,沒有好壞之分,但對一個人不同階段的影響會不同。
小公司肯定想要發(fā)展為大企業(yè),這是一種目標,年輕人也要給自己的職業(yè)生涯制定目標。畢業(yè)幾年的你,是否經常會怯場或者是感到沒有底氣?居安思危絕對不是危言聳聽!此刻打盹,你將做夢;此刻學習,你將圓夢。在競爭激烈的人生戰(zhàn)場上,打盹的都是輸家!
每個人在年輕的時候似乎都豪情萬丈,什么都不怕,可是隨著年齡的增長,每天想著房子、工作、養(yǎng)家糊口這些俗事兒,再也沒有年輕時那種敢于”上天探星、下海撈月”的勇氣了。是我們改變了生活,還是生活改變了我們?我們的思想越來越復雜,因為有了越來越多的舍不得、越來越多的顧慮,我們總是在徘徊、總是在猶豫。畢業(yè)開始一兩年,生活的重擔會壓得我們喘不過氣來,挫折和障礙堵住四面八方的通口,我們往往在壓迫得自己發(fā)揮出潛能后,才能殺出重圍,找到出路。可是兩三年后,身上的重擔開始減輕,工作開始一帆風順,我們就松懈了下來,漸漸忘記了潛在的危險。直到有一天危機突然降臨,我們在手足無措中被擊敗……畢業(yè)這幾年,仍然處于危險期,一定要有居安思危的意識,好好打拼,這樣才能有一個真正的安全人生!
生于憂患,死于安樂。如果你想跨越自己目前的成就,就不能畫地自限,而是要勇于接受挑戰(zhàn)。對畏畏縮縮的人來說,真正的危險正在于不敢冒險!
年輕人在社會的重壓下,適應能力已變得越來越強,只是他們不自覺地習慣被環(huán)境推著走。他們不敢冒險,怕給自己帶來終身的遺憾,于是告慰自己:”我對得起自己、對得起家人,因為我已竭盡全力。”其實,人只有不斷挑戰(zhàn)和突破才能逐漸成長。長期固守于已有的安全感中,就會像溫水里的青蛙一樣,最終失去跳躍的本能。
經歷了這幾年社會生活,你應該明白:這個世界上有富也有貧,有陰也有亮,有丑也有美,到底看到什么,取決于自己是積極還是消極。在年輕時學會勤勉地工作,用一種光明的思維對待生活,那么,只要張開手掌,你就會發(fā)現(xiàn),里面有一片燦爛的人生。
把感恩刻在石頭上,深深地感謝別人幫助過你,永遠銘記,這是人生應有的一種境界;把仇恨寫在沙灘上,淡淡忘掉別人傷害過你,學會寬容,讓所有的怨恨隨著潮水一去不復返,這也是一種人生境界。
學會倒出水,才能裝下更多的水。從畢業(yè)那天開始,學會把每天都當成一個新的起點,每一次工作都從零開始。如果你懂得把”歸零”當成一種生活的常態(tài),當成一種優(yōu)秀的延續(xù),當成一種時刻要做的事情,那么,經過短短幾年,你就可以完成自己職業(yè)生涯的正確規(guī)劃與全面超越。
在職業(yè)起步的短短道路上,想要得到更好、更快、更有益的成長,就必須以歸零思維來面對這個世界。不要以大學里的清高來標榜自己,不要覺得自己特別優(yōu)秀,而是要把自己的姿態(tài)放下,把自己的身架放低,讓自己沉淀下來,抱著學習的態(tài)度去適應環(huán)境、接受挑戰(zhàn)。放下”身段”才能提高身價,暫時的俯低終會促成未來的高就。
年輕人從校園或者從一個環(huán)境進入一個新環(huán)境,就要勇于將原來環(huán)境里熟悉、習慣、喜歡的東西放下,然后從零開始。我們想在職場上獲得成功,首先就要培養(yǎng)適應力。從自然人轉化為單位人是融入職場的基本條件。一個人起點低并不可怕,怕的是境界低。越計較自我,便越沒有發(fā)展前景;相反,越是主動付出,那么他就越會快速發(fā)展。很多今天取得一定成就的人,在職業(yè)生涯的初期都是從零開始,把自己沉淀再沉淀、倒空再倒空、歸零再歸零,正因為這樣,他們的人生才一路高歌,一路飛揚。
在畢業(yè)這幾年里,我們要讓過去歸零,才不會成為職場上那只背著重殼爬行的蝸牛,才能像天空中的鳥兒那樣輕盈地飛翔。請好好品味一下杰克·韋爾奇說過的一句話:”糾正自己的行為,認清自己,從零開始,你將重新走上職場坦途。” 吐故才能納新,心靜才能身涼,有舍才能有得,杯空才能水滿,放下才能超越。
歸零思維五大表現(xiàn):心中無我,眼中無錢,念中無他,朝中無人,學無止境。
年輕人難免帶著幾分傲氣,認為自己無所不能、所向披靡,其實不然,初入職場的新人還是個”嬰兒”,正處在從爬到走的成長階段。在畢業(yè)這幾年里,一定要讓自己逐步培養(yǎng)起學徒思維、海綿思維、空杯思維,具有這樣思維的人心靈總是敞開的,能隨時接受啟示和一切能激發(fā)靈感的東西,他們時刻都能感受到成功女神的召喚。
JavaScrip 中String 與XML 互相轉換的函數(shù)小記
function convert_string_to_xml(strXML)
{
if (window.ActiveXObject) {
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.loadXML(strXML);
return xmlDoc;
} else {
parser=new DOMParser();
xmlDoc=parser.parseFromString(strXML,"text/xml");
return xmlDoc;
}
}
function convert_xml_to_string(xmlObject)
{
if (window.ActiveXObject) { // for IE
return xmlObject.xml;
} else {
return (new XMLSerializer()).serializeToString(xmlObject);
}
}
摘要: JBOSS 下如何配置C3P0的連接池(解決Mysql 8小時的問題)
問題引起:
在公司配置文檔管理系統(tǒng)(OPENKM)時,把數(shù)據(jù)源切換到Mysql數(shù)據(jù)源下,經過測試,發(fā)現(xiàn)經過8小時后,數(shù)據(jù)庫連接自動斷開。
解決辦法:
把原來的openkm-ds.xml刪除掉。原openkm-ds.xml的內容如下:
...
閱讀全文
一、系統(tǒng)環(huán)境
操作系統(tǒng): RedHat Enterprise Linux 5
二、安裝JDK
1. 從java.sun.com下載最新的J2SE 1.5:jdk-1_5_0_17-linux-i586-rpm.bin
下載地址:
http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/VerifyItem-Start/jdk-1_5_0_17-linux-i586-rpm.bin?BundledLineItemUUID=QZlIBe.mUMYAAAEevV9SRJFA&OrderID=V_dIBe.mwxAAAAEeoV9SRJFA&ProductID=UEdIBe.omzcAAAEdklhGb7Xo&FileName=/jdk-1_5_0_17-linux-i586-rpm.bin
2. 將JDK安裝文件jdk-1_5_0_17-linux-i586-rpm.bin拷貝到Redhat任意目錄下。例如:/opt/jdk(目錄jdk需要手動新建)
3. 執(zhí)行 #chmod +x jdk-1_5_0_17-linux-i586-rpm.bin
4. 執(zhí)行 ./jdk-1_5_0_17-linux-i586-rpm.bin
此時會出現(xiàn)JDK安裝授權協(xié)議。可以一路按Enter瀏覽。如果等的不耐煩可以直接按Ctrl+C,直接會出現(xiàn)Do you agree to the above license terms? [yes or no]的字樣。
5. 鍵入yes,同意該授權協(xié)議。
此時系統(tǒng)會開始解壓jdk-1_5_0_17-linux-i586-rpm.bin
6. 解壓完畢后,回到/opt/jdk目錄,鍵入dir。會發(fā)現(xiàn)多出了一個解壓好的安裝文件:jdk-1_5_0_17-linux-i586.rpm
7. 執(zhí)行 rpm -ivh jdk-1_5_0_17-linux-i586.rpm
此時,系統(tǒng)會開始安裝JDK。安裝結束后可以在/usr目錄下發(fā)現(xiàn)新增了一個名為java的文件夾。該文件夾就是安裝好的JDK目錄。
8. 設置環(huán)境變量
a. 進入/etc文件夾(具體操作命令忽略),找到文件profile并打開。
[注意:profile是指文件不是指文件夾]
b. 找到export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC,在該語句的上面添加以下語句:
export JAVA_HOME="/usr/java/jdk1.5.0_17"
[注意:“=”兩側不能有空格]
export CLASSPATH="/usr/java/jdk1.5.0_17/lib:/usr/java/jdk1.5.0_17/jre/lib"
[注意:“=”兩側不能有空格;“:”是冒號,同樣不要有空格出現(xiàn)]
pathmunge /usr/java/jdk1.5.0_17/bin:/usr/java/jdk1.5.0_17/jre/bin
[注意:無引號]
9. 設置完畢后,保存文件。重啟Redhat后登錄控制終端,鍵入:java -version;
如果出現(xiàn)java version “1.5.0.17”等字樣,說明您的JDK已經安裝成功了!祝賀你!
Jetty啟動后,如果修改javascript文件,將不能保存,使調試很麻煩。這是因為使用了CACHE,JETTY說是WINDOWS下的一個限制。可以通過如下方法修正:
解壓出jetty.jar中的org/mortbay/jetty/webapp/webdefault.xml文件,將這一選項由true改為false,另存到src/main/resources目錄,或者其它自選目錄。
<init-param>
<param-name>useFileMappedBuffer</param-name>
<param-value>true</param-value> <!-- change to false -->
</init-param>
把修改后的webdefault.xml文件跟pom.xml放在一起
修改pom.xml里的Jetty Plugin的配置,加入webdefault.xml
...
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.7</version>
<configuration>
<contextPath>/</contextPath>
<webDefaultXml>webdefault.xml</webDefaultXml>
...
</configuration>
...
</plugin>
...
附。。。在項目中用到的Jetty用Java代碼Call Jetty啟動的方法
import org.mortbay.jetty.Connector;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.nio.SelectChannelConnector;
import org.mortbay.jetty.webapp.WebAppContext;
public class JettyStarter {
public JettyStarter() {
}
public static void main(String[] args) {
try {
Server server = new Server();
Connector connector = new SelectChannelConnector();
connector.setPort(9999);
server.setConnectors(new Connector[] { connector });
WebAppContext webapp = new WebAppContext();
webapp.setContextPath("/");
webapp.setResourceBase("./src/main/webapp");
webapp.setDefaultsDescriptor("./webdefault.xml");
server.setHandler(webapp);
server.start();
server.join();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Openfire 是由Jive Software 主導開發(fā)的一套功能非常強大的開源im 服務器(前身是
wildfire),它基于XMPP 協(xié)議,完全用java實現(xiàn),是一款非常優(yōu)秀的服務器端軟件。
一. 安裝JDK(我使用的是JDK1.6), 不再詳述
二. 安裝 Eclipse 5.5(不再詳述)
三. 安裝Subversive插件
Subversive是一款不錯的svn插件,具體安裝方法請參看我的另一篇文章《Eclipse中
安裝svn插件Subversive 》,鏈接
http://blog.csdn.net/zhenyucheung/archive/2008/03/19/2195518.aspx
四. check out openfire 源碼
1. 在eclipse中點擊Windows->Open Perspective->Other
2. 在彈出窗口中點擊SVN Repository Exploring 然后點OK
3. 在SVN Repositories 點右鍵,選擇 New->Repository Location...
4. 在彈出的New Repository Location頁面,將
http://svn.igniterealtime.org/svn/repos輸入URL文本框,點Finish. 你將會看到頁面出
現(xiàn)URL地址.
5. 展開URL地址
6. 展開openfire樹形結構
7. 在trunk上點擊右鍵,選擇Check Out
剩下的就是等待check out完成了 :)
五. 創(chuàng)建openfire工程
對使用過eclipse的人來說,這一步不用多說,這里僅列出幾個需要注意的地方.
1. check out完畢后,eclipse會自動創(chuàng)建一個openfire工程,請把它刪除(注意刪除時
不要刪除content),否則你將不得不手動配置一些開發(fā)環(huán)境。
2. 用Create project from existing source新建工程,注意工程名要用openfire。
-----------------
若自己創(chuàng)建工程:
五.創(chuàng)建Java項目,將源代碼導入此項目中。在Eclipse中將此Java文件夾當成源代碼文件夾
新建工程。庫都在Build目錄的lib目錄下,將openfire用到的庫都添加到這個新建工程的
Referenced Libraries中。
六. Build openfire
openfire是用ant構建的,所以要先設置使得eclipse中每次編譯都使用內置的ant工具,
保證編譯的正確執(zhí)行。
1. eclipse中點擊Window->Show View->Ant
2. 在Ant 頁面點右鍵,選擇 Add Buildfiles...
3. 展開openfire/build文件夾,選擇build.xml, 點 OK.
4. 在Ant頁面, 展開Openfire XMPP Server,雙擊 openfire ant 任務
七. 創(chuàng)建項目Builder
1. 點擊Run->Open Run Dialog...
2. 選擇Java Application,點擊 New 按鈕
3. 在Run窗口的Main選項卡中, 修改Name文本框中的值,改成Openfire,其他名字亦可
4. 點Browse按鈕,選擇openfire, 點ok
5. 點Search按鈕,選擇Main class為
org.jivesoftware.openfire.starter.ServerStarter,點OK。(這是openfire的啟動類)
6. 點擊進入Arguments選項卡
7. 在VM arguments文本框中輸入 -
DopenfireHome="${workspace_loc:openfire}/target/openfire",這個是用于eclipse執(zhí)行
java命令時傳遞的參數(shù),這樣openfire程序可以通過System.getProperty(“openfireHome”)得到
openfire的本地位置。
8. 點擊進入Classpath選項卡
9. 點選User Entries,這樣Advanced...就處于可用狀態(tài)
10. 點擊Advanced...按鈕
11. 在Advanced Options頁面,選擇Add Folders, 點ok.
12. 選擇openfire\src\i18n, 點ok將這個文件夾加入到class path,同樣的方式把
openfire\src\resources\jar也加到class path中。
13. 在Common選項卡中,點選Run復選框。
設置完畢,這樣以后在run這個工程的時候就會按照正確的配置進行了。
當Maven項目很大,或者你運行諸如 mvn site 這樣的命令的時候,maven運行需要很大的內存,在默認配置下,就可能遇到java的堆溢出。如:
[INFO] Building jar: /home/dl9pf/svn/mindquarry/mindquarry-jcr/mindquarry-jcr-changes/target/mindquarry-migration-with-dependencies.jar
[INFO] ------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Java heap space
[INFO] ------------------------------------------------------------------------
[INFO] Trace
java.lang.OutOfMemoryError: Java heap space
at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:99)
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:518)
...
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7 minutes 14 seconds
[INFO] Finished at: Wed Sep 05 07:44:55 CEST 2007
[INFO] Final Memory: 37M/63M
[INFO] ------------------------------------------------------------------------
解決的方法是調整java的堆大小的值。
Windows環(huán)境中
找到文件%M2_HOME%\bin\mvn.bat ,這就是啟動Maven的腳本文件,在該文件中你能看到有一行注釋為:
@REM set MAVEN_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE...
它的意思是你可以設置一些Maven參數(shù),我們就在注釋下面加入一行:
set MAVEN_OPTS= -Xms128m -Xmx512m
之后,當你運行Maven命令如 mvn -version 的時候,你會看到如下的輸出:
E:\test>mvn -version
E:\test>set MAVEN_OPTS= -Xms128m -Xmx512m
Maven version: 2.0.9
Java version: 1.6.0_07
OS name: "windows 2003" version: "5.2" arch: "x86" Family: "windows"
我們看到,配置的Maven選項生效了,OutOfMemoryError也能得以相應的解決。
Linux環(huán)境中
也可以通過設置環(huán)境變量解決該問題, 如,編輯文件 /etc/profile 如下
MAVEN_OPTS=-Xmx512m
export JAVA_HOME MAVEN_HOME MAVEN_OPTS JAVA_BIN PATH CLASSPATH
如果你使用Hudson
用 Hudson + Maven做持續(xù)集成,并不幸也遇到了類似的錯誤,那么上述兩種方式都將不再起作用了,因為Hudson使用自己的maven-agent來啟動Maven,不會去調用Maven的腳本,自然相應的配置也就無效了。
好在Hudson也給為我們提供了配置點,在Hudson的項目配置頁面中,有一塊Build區(qū)域,這里我們已經設置了Root Pom和Goals。注意該區(qū)域的右下角有一個"Advanced..."按鈕,點擊會看到MAVEN_OPTS輸入框,這里輸入"-Xmx512m"就OK了。
m2eclipse中
類似以上的方法都會失效,所幸m2eclipse提供了配置點。步驟如下:
項目上右擊 -> Run As -> Run Configurations -> Maven Build 上右擊 -> New
這時會看到一個maven運行配置對話框,這里面其它的配置我不多解釋了,為了解決內存溢出的問題,我們可以選擇第二個TAB: JRE,然后在VM arguments中輸入配置如:-Xms128m -Xmx512m。
在<Script>標簽里設置一個 charset
例如:
<link type="text/css" rel="stylesheet" href="http://020sun.3322.org/hxair/style.css" charset="gb2312" />
<script type="text/javascript" src="http://020sun.3322.org/hxair/js/command.js" charset="gb2312"></script>
為一個接口提供缺省實現(xiàn),這樣子類可以從這個缺省實現(xiàn)進行擴展.而不必從原有接口進行擴展.作為適配器模式的一個特例,缺省適配模式在java語言中有著特殊的應用.(引用java模式書)
adapter是一個非常常用的設計模式.
像windows的每個窗口,事件很多個.關閉,移動,最大化,最小化,
java代碼設計如下:
interface 窗口{
public void 關閉();
public void 移動();
public ovid 最大化();
...
...
}
如果客戶點擊了關閉按鈕,java類實現(xiàn)如下:
Frame implements 窗口{
public void 關閉(){
System.out.println("關閉窗口");
}
public void 移動()[
}
public ovid 最大化(){
}
...
...
}
這里面我們可以看出,我們關注的只有關閉按鈕觸發(fā)的事件,其它的我們不用管.但是在java類中,我們必須把接口的所有方法都給實現(xiàn).這樣我們連一些沒有用的方法也得給實現(xiàn).那怕是空實現(xiàn).
下面我們來建一個抽象類來實現(xiàn)這個接口.
public abstract Frame implements 窗口{
public void 關閉(){
}
public void 移動(){
}
public ovid 最大化(){
}
...
...
}
這里我們可以看出,抽象類給每個接口一個空的實現(xiàn),那我們都可以在抽象類的基礎上進行擴展。關閉功能實現(xiàn)如下:
public CloseFrame extends Frame{
public void 關閉(){
System.out.println("關閉窗口");
}
}
像在java中的事件處理都是用適配器模式來實現(xiàn)的。接口,抽象類都是已經寫好的。我們只需要實現(xiàn)具體功能的類就可以了。
再舉個簡單的例子:
假如存在如下接口:
interface TestInterface{
void test1();
void test2();
void test3();
}
如果我們只關注test1接口應該怎樣寫呢。
abstract class TestAbstract implements Test{
public void test1(){
}
public void test2(){
}
public void test3(){
}
}
class TestTest1 extends TestAbstract{
public void test1(){
System.out.println("方法1實現(xiàn)");
}
}
那么在什么情況下用相信大家已經能看得出來了吧。假如你不準備實現(xiàn)接口的所有方法。就可以建一個抽象類來實現(xiàn)這個接口的所有方法,當然這里全都是空的實現(xiàn).然后再寫一個類繼承這個抽象類就可以得到你想要的結果了.