<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Maven、Hibernate升級小貼士

    記錄一下Maven 1升級到Maven 2、Hibernate 2.1升級到Hibernate 3的一些注意事項,^_^,以備后用,畢竟以前的系統(tǒng)很多都是基于Maven 1和Hibernate 2.1的。
    Maven 1升級到Maven 2
    熟悉Maven 1的同學們剛接觸Maven 2的時候不免容易變得摸不著頭腦,確實,Maven 2對于Maven 1的用戶而言太陌生了,也許這就是apache學院派的風格吧,^_^,完全不顧用戶的感受,廢話不說了,Maven 1的用戶習慣于在編寫一個工程時編寫pom.xml、maven.xml,同時還可能會寫寫project.properties或者是build.properties,高級點的用戶會用jelly自己寫寫簡單的插件,更強的用戶的話就可以用java自己寫插件了,到了Maven 2里面呢,暈了,沒有maven.xml,那怎么對project做集成呢,集成的腳本去哪寫呢,這是造成maven 1用戶無法適從的一個部分,Maven 2的思想是以模型為核心,所以就強化了Maven 1中pom的概念,所有的東西都放入pom進行描述,這點和以前的pom差不了太多,增加了一些象assembly等等的東西,其實仔細看會發(fā)現(xiàn)這里面的很多東西其實它都是調用maven 2插件時的一些屬性描述,這樣其實就不難理解,以前在maven 1中這部分都放入project.properties,Maven 2里面最好的一點就是增強了Maven 1里面的pom.xml的繼承的支持,這個比以前強多了,以前Maven 1中工程的繼承其實作用不是非常明顯,在現(xiàn)在Maven 2中就非常明顯了,繼承了父的pom.xml后當前的這個pom.xml編寫起來可能就變得非常簡單了,^_^,最后說說讓Maven 1用戶迷惑的maven.xml的問題,在maven 2中均通過插件的方式來形成project的集成腳本,maven 2本身提供了非常多的集成插件,象clean、install等等,可以在執(zhí)行maven時通過這樣的方式來調用多個插件:mvn clean install,如果maven提供的插件無法滿足的話,只能是自己寫了,現(xiàn)在寫插件可沒以前那么簡單了,因為在maven 2中拋棄了jelly。
    Maven 2中比Maven 1還有的一個改進點就是dependency的問題了,Maven 2可以通過project引用的lib相應的去尋找該lib引用的其他的lib,例如在項目中我引用了webwork.jar,那么關于webwork.jar所引用的lib則可讓maven自行去尋找,前提是webwork編寫了相應的pom.xml,maven就可以相應的通過pom.xml來得到所有引用的lib,^_^,這個倒是一個不錯的改進,不過同時對開源的東西都帶來了需要編寫符合maven 2的pom.xml的需求,否則的話只能是自己幫它寫,不過這樣的話就可以把項目的lib管理變得非常清晰和簡單了,其實這點也是eclipse中的一個改進點,在eclipse中當project A引用了一個project B時,如果project B又引用project C,這個時候如果在project A中是不能調用project C的方法的,^_^
    總結Maven 2對比于Maven 1而言的優(yōu)缺點:
    優(yōu)點:
    1、Dependency的管理上;
    2、多工程的繼承上。
    缺點:
    1、腳本編寫上,現(xiàn)在必須依靠寫插件來完成了,^_^,或者采用調用ant的方式來屏蔽這個缺點。
    Hibernate 2.1升級到Hibernate 3
    升級Hibernate沒有升級Maven那么痛苦,^_^,還是比較簡單的,只是有幾個地方稍微需要注意:
    1、依照Hibernate 2.1對于lib的說明,把所有Hibernate 2.1的lib刪除;
    2、依照Hibernate 3對于lib的說明,把Hibernate 3所需要的lib引入;
    3、替換Hibernate的相關引用,在2.1中是net.sf.hibernate這樣的package,在3中是org.hibernate這樣的package;
    4、重新生成所有的hbm.xml文件,如果以前用的是xdoclet的ant task的話,把hibernate的版本改成3.0就可以了,或許要更新下xdoclet的lib;
    5、修改hibernate.cfg.xml的dtd為3.0;
    6、因為在Hibernate 3中對于po默認采用的均為lazy加載方式,建議在項目中采用OSIV方式,那么就可以很簡單的解決這個問題;
    7、如果使用了hibernate的cache配置,而自己同時在項目中也調用了CacheManager,那么必須把這個CacheManager改為直接調用CacheManager.getInstance(),而不是通過CacheManager.create這樣的方式,把自己在項目中使用的所有緩存的配置也放入classes下的ehcache.xml中;
    8、如果使用了Clob,需要修改修改,Hibernate 3改變了Clob的方式,以前在項目中可能會使用這樣的方式:CLOB clob=(CLOB)info.getContent(); 在3中就不能這么做了,就需要改變?yōu)镃LOB clob=(CLOB)((SerializableClob)info.getContent()).getWrappedClob();
    9、session.find、session.iterator等方法被廢棄了,要改為采用Query來獲取。

    在Maven、Hibernate升級過程中基本碰到的是些這樣的問題,^_^,稍做總結,Maven的升級帶來的甚至是思想方面的改變,Hibernate的升級則顯得更為簡單一點,當然,有些東西還是需要深入學習的。

    posted on 2006-04-20 11:00 BlueDavy 閱讀(3419) 評論(0)  編輯  收藏 所屬分類: Java

    公告

     









    feedsky
    抓蝦
    google reader
    鮮果

    導航

    <2006年4月>
    2627282930311
    2345678
    9101112131415
    16171819202122
    23242526272829
    30123456

    統(tǒng)計

    隨筆分類

    隨筆檔案

    文章檔案

    Blogger's

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产JIZZ中国JIZZ免费看| 国产成人精品高清免费| 男人和女人高潮免费网站| 精品日韩亚洲AV无码 | 亚洲国产精品无码久久一线| 西西大胆无码视频免费| 国产色爽免费无码视频| 色噜噜的亚洲男人的天堂| 亚洲成aⅴ人片在线影院八| 亚洲最大激情中文字幕| 免费国产成人高清视频网站| 国产精品久久免费| 99热在线免费播放| 岛国精品一区免费视频在线观看| 羞羞视频免费观看| 亚洲AV无码之国产精品| 亚洲一级毛片免观看| 亚洲精品中文字幕乱码影院| 亚洲中文字幕日产乱码高清app| 免费观看国产小粉嫩喷水| 毛片A级毛片免费播放| 1000部拍拍拍18勿入免费视频软件 | 亚洲国产精品免费观看| 亚洲精品视频专区| 亚洲电影免费在线观看| 亚洲国产成人高清在线观看| 精品亚洲视频在线观看| 国产成人精品久久亚洲高清不卡 | 四虎在线播放免费永久视频| 日韩成人在线免费视频| 在线观看成人免费视频| 成人免费福利电影| 啦啦啦www免费视频| 女人18毛片a级毛片免费视频| 一二三四免费观看在线视频中文版 | baoyu122.永久免费视频| 中国性猛交xxxxx免费看| av午夜福利一片免费看久久| 久久国产美女免费观看精品| 国产免费高清69式视频在线观看| 三上悠亚在线观看免费|