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

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

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

    寫程序,做產(chǎn)品,過日子

    成功其實(shí)很簡(jiǎn)單,就是強(qiáng)迫自己堅(jiān)持下去

    BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
      69 Posts :: 1 Stories :: 92 Comments :: 0 Trackbacks

    這兩天因?yàn)橄霚y(cè)試一下群集Cache,用Myeclipse 建了一個(gè)測(cè)試程序,快把我折騰死了。

    在Myeclipse的設(shè)計(jì)中,Project的粒度很細(xì)。EAR Project, WAR Project, 和EJB Project是三個(gè)不同的Project。它不支持EAR Project包打天下不太一樣。

    我按照這個(gè)要求,創(chuàng)建了四個(gè)項(xiàng)目:EAR, WAR, EJB和一個(gè)公用的Pojo Project。

    公司剛剛換用了SubVersion首先涮了我一把。Subeclipse 1.0.1只認(rèn)一個(gè)項(xiàng)目一個(gè)項(xiàng)目的check out。一下子把我的四個(gè)項(xiàng)目合并成一個(gè)什么都不是的大項(xiàng)目。 我只好把這個(gè)大項(xiàng)目關(guān)掉,再一個(gè)一個(gè)的導(dǎo)入進(jìn)來。

    可是碰在新建Subversion庫的當(dāng)口上,項(xiàng)目的服務(wù)器路徑變動(dòng)了好幾次。每次都要我這么弄幾下。迫不得已,裝上TortoiseSVN-1.4.3。這東西爽!可以一下子把四個(gè)項(xiàng)目全取下來,而且不破壞eclipse項(xiàng)目結(jié)構(gòu)。

    然而,當(dāng)我打開eclipse,又碰到一個(gè)經(jīng)典問題: subeclipse 1.0.1和TortoiseSVN-1.4.3不兼容,報(bào)告說我的subversion客戶端太老(其實(shí)是它自己老了),直接罷工了。

    左找右找,終于發(fā)現(xiàn)有人說subeclipse 1.1.6搞定了這個(gè)問題。于是升級(jí),搞定了這個(gè)問題。

    ?

    要說Myeclipse對(duì)于EJB和JSP的支持確實(shí)漂亮,輕輕松松的就開發(fā)完成了。部署并初步運(yùn)行也是成功的。

    只有一個(gè)美中不足:它生成的war包和jar包不能指定名字。在EAR的.mymetadata中,有這么一段配置:

    < project-modules >
    < project-module
    type ="WEB"
    name
    ="Cache?Web"
    id
    ="myeclipse.1171417787608"
    context-root
    ="/cache"
    j2ee-spec
    ="1.4"
    archive
    ="Cache?Web.war" >
    < attributes >
    < attribute? name ="webrootdir" ?value ="/root" ? />
    </ attributes >
    </ project-module >
    < project-module
    type ="EJB"
    name
    ="Cache?Ejb"
    id
    ="myeclipse.1171417692847"
    j2ee-spec
    ="1.4"
    archive
    ="Cache?Ejb.jar" ? />
    </ project-modules >

    ?

    包名中帶空格可不是我的風(fēng)格。我嘗試修改上面的archive屬性。但是最后生成的EAR中,包名還是照舊。很有可能archive屬性根本就沒有作用。Myeclipse簡(jiǎn)單的拿工程名做包名。

    ?

    沒辦法,將就過吧。繼續(xù)測(cè)試。Pojo是個(gè)單獨(dú)的Hibernate Pojo項(xiàng)目。EJB和JSP都有引用到。

    在EJB中,調(diào)用Pojo得到一個(gè)List,里面的元素是Order對(duì)象。在EJB中從Object轉(zhuǎn)成Order成功。但在JSP中轉(zhuǎn)型時(shí),碰到一個(gè)極為古怪的問題:ClassCastException。

    調(diào)用EJB得到List都成功了,可怎么從中轉(zhuǎn)出Order對(duì)象會(huì)出問題呢?打開Debug看看,List中的確是Order對(duì)象啊!太古怪了!

    沒救了,死馬當(dāng)活馬醫(yī)吧。把遠(yuǎn)程EJB調(diào)用改成本地EJB調(diào)用——問題照舊!檢查所有配置文件,都簡(jiǎn)單得不可能出問題啊!

    ……神啊,救救我吧。

    最后,在檢查部署后的文件時(shí)發(fā)現(xiàn)了問題。WAR包和EJB包各自把Pojo項(xiàng)目中的所有classs合并了進(jìn)來。這樣在一個(gè)EAR中,每個(gè)pojo的class都有兩份。JSP和EJB各引用各的,從而導(dǎo)致了類型不匹配。

    問題的原因在于Myeclipse中指定的部署方法不對(duì)。為了省事,我在WAR和EJB的部署配置中,都選擇了“Merge dependent Java Project Delopyment"。如下圖所示。

    將部署配置改為Ignore之后,然后手工將pojo包放到j(luò)boss server的lib中,問題終于解決了。

    可是這樣一來,每次我都得手工的部署pojo包。在EAR的配置中有一個(gè)"Jar dependent Java projects"。選中它,并且在引用項(xiàng)目中選中Pojo項(xiàng)目。Myeclipse就會(huì)自動(dòng)將Pojo包部署到EAR中。

    然而,它部署是部署了,沒把人家放到classpath中去,一運(yùn)行就報(bào)錯(cuò):ClassNotFound。這個(gè)問題好解決,在EJB和WAR的MANIFEST.MF中加入classpath就可以了。

    一開始我用的是pojo.jar這個(gè)名字,放到classpath中后運(yùn)行成功。

    可是Myeclipse在每次自動(dòng)生成pojo包時(shí),給的是工程名"cache pojo.jar",里面有個(gè)空格。classpath死活不認(rèn)識(shí)它,用引號(hào)引起來也不行。

    問題到了最后,還是沒有圓滿解決——早知今日,我還不如直接用個(gè)ant building呢!

    posted on 2007-02-16 16:15 Welkin Hu 閱讀(2854) 評(píng)論(3)  編輯  收藏 所屬分類: Java

    Feedback

    # re: Myeclipse J2EE Project, 折騰死我了。 2007-02-16 17:37 BeanSoft
    試試 netbeans 吧, 呵呵, 好歹也是正版, 支持 svn 和 ant...  回復(fù)  更多評(píng)論
      

    # re: Myeclipse J2EE Project, 折騰死我了。[未登錄] 2007-02-28 14:02 boss_ch
    調(diào)試時(shí)用myeclipse 直接部署可以

    對(duì)于生產(chǎn)環(huán)境的部署 我們都還是用ant 的。  回復(fù)  更多評(píng)論
      

    # re: Myeclipse J2EE Project, 折騰死我了。 2009-02-07 19:28 xx
    我的老是不停的building。很慢,煩死了。  回復(fù)  更多評(píng)論
      

    主站蜘蛛池模板: 亚洲AV无码乱码在线观看裸奔| 亚洲 无码 在线 专区| 亚洲精品综合久久中文字幕| 一个人看的www免费视频在线观看| 亚洲三区在线观看无套内射| a级毛片免费网站| 亚洲第一极品精品无码久久| 永久在线观看免费视频| 亚洲另类激情综合偷自拍| 8x8×在线永久免费视频| 亚洲妇女水蜜桃av网网站| 拨牐拨牐x8免费| 国产精品自拍亚洲| 亚洲人妻av伦理| A级毛片高清免费视频在线播放| 久久亚洲精品国产精品黑人| 国产成人精品免费视频大全麻豆| 亚洲高清有码中文字| 四虎永久在线精品免费观看地址 | 在线中文高清资源免费观看| 国产成人va亚洲电影| 亚洲乱码日产一区三区| 亚欧人成精品免费观看| 国产精品亚洲一区二区三区久久| 国产成人麻豆亚洲综合无码精品| 久久久99精品免费观看| 亚洲色大成网站www久久九| 亚洲国产中文字幕在线观看 | 免费国产作爱视频网站| 亚洲成a∧人片在线观看无码| 久久精品国产亚洲5555| 2021精品国产品免费观看| 精品亚洲视频在线| 亚洲VA中文字幕无码毛片| 无码视频免费一区二三区| 精品久久久久久国产免费了| 亚洲精品美女在线观看| 亚洲一区视频在线播放| 久久精品a一国产成人免费网站| 精品乱子伦一区二区三区高清免费播放 | 亚洲日本国产精华液|