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

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

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

    無責(zé)任的爛筆頭

    Concentrate & enjoy!
    posts - 3, comments - 15, trackbacks - 0, articles - 7
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    以Exploded方式部署應(yīng)用

    Posted on 2010-03-19 16:17 BZ 閱讀(6688) 評論(0)  編輯  收藏 所屬分類: IDE
       使用Eclipse Java EE版本開發(fā)Web應(yīng)用程序時, Eclipse老是將需要部署的內(nèi)容打成war包。這在開發(fā)時, 是個沒有必要的開銷,因為大多數(shù)Web Server(或App Server)都支持exploded部署方式。
       要讓Eclipse部署的時候以exploded方式部署,其實沒有想象中復(fù)雜。實際上,從Eclipse的Console中可以窺見其工作端倪(以Jboss為例,其它服務(wù)器類似):
    Buildfile: /xxx/eclipse/plugins/org.eclipse.jst.server.generic.jboss_1.6.1.v200904151730/buildfiles/jboss323.xml
    deploy.j2ee.web:
          [jar] Building jar:
    /home/brian/Dev/Java/eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/ssh.war
         [move] Moving 1 file to /home/brian/Dev/Java/JBoss/jboss-6.0.0.20100216-M2/server/default/deploy
       可以看到, Eclipse環(huán)境去執(zhí)行了一個Ant腳本--jboss323.xml, 具體來說是執(zhí)行了其中的deploy.j2ee.web target。也正是這個target完成了war包的制作(jar任務(wù))和部署(move任務(wù))。如果我們要修改Eclipse的行為,需要做的事情就是修改這個target,讓它只作簡單的文件拷貝:
       
    <target name="deploy.j2ee.web">
            <property name="deploy.dir" location="${server.publish.dir}/${module.name}.war" />
            
    <mkdir dir="${deploy.dir}" />
            
    <copy todir="${deploy.dir}">
                
    <fileset dir="${module.dir}">
                    
    <include name="**/*.*"/>
                    
    <exclude name="**/*.war"/>
                
    </fileset>
            
    </copy>
            
            
    <sleep seconds="${pause.deploy}"/>
            
        
    </target>

       現(xiàn)在部署應(yīng)用就會在Console中看到如下信息:
    Buildfile: /xxx/eclipse/plugins/org.eclipse.jst.server.generic.jboss_1.6.1.v200904151730/buildfiles/jboss323.xml
      deploy.j2ee.web:
           [copy] Copying 1 file to /home/brian/Dev/Java/JBoss/jboss-6.0.0.20100216-M2/server/default/deploy/ssh.war
      BUILD SUCCESSFUL
       需要說明的是:
    •   如果你之前以war包形式部署過, 那么需要在服務(wù)器的部署目錄(比如JBoss的server/default)下,將war包移除,否則創(chuàng)建文件夾時會出錯。
    • 如果需要的話(一般如此:)),可以同時將<sleep>任務(wù)一并去掉。它會產(chǎn)生一段時間(10秒)的延時,作為本地開發(fā),應(yīng)該無須忍受這個延時。
    • 這種改動,并不能控制Eclipse執(zhí)行腳本的時機,只是修改了腳本本身而已。因此,修改了某個文件(比如jsp文件)并不會立即生效(MyEclipse會產(chǎn)生這個效果), 而是需要等待Eclipse執(zhí)行了上述腳本, 把修改后的文件部署到服務(wù)器才能生效。幸運的是,我們可以服務(wù)器的部署時間: 在Server面板中雙擊要修改的server, 在出現(xiàn)的界面中展開Publishing, 然后修改Publishing interval (in seconds)即可。


       關(guān)于Ant腳本,嚴(yán)格地講,你最好同時修改undeploy.j2ee.web target, 因為*.war已經(jīng)不是一個文件,而是文件夾了,修改如下:

    <target name="undeploy.j2ee.web">
            <!--
            <delete file="${server.publish.dir}/${module.name}.war" failonerror="false"> </delete>
            
    -->
            
    <delete dir="${server.publish.dir}/${module.name}.war" failonerror="false"> </delete>
            
    <sleep seconds="${pause.undeploy}"/>
        
    </target>
      類似地,如果你的項目涉及到ejb或ear,你可以修改其它幾項對應(yīng)的target。

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 精品国产污污免费网站aⅴ| 亚洲成人一级电影| 在线观看成人免费视频| 99国产精品免费观看视频| 一级毛片大全免费播放| 亚洲国产精品无码中文lv| 亚洲综合久久1区2区3区| 亚洲爆乳无码专区| 国产亚洲一区区二区在线| 免费人成视频在线观看不卡| 免费a级毛片高清视频不卡| 久视频精品免费观看99| 国产成人AV片无码免费| 国产免费MV大全视频网站| 老妇激情毛片免费| 亚洲av无码片vr一区二区三区| 亚洲人成网站在线观看播放青青| 亚洲色图古典武侠| 亚洲影院在线观看| 亚洲AV无码久久精品蜜桃| 亚洲精品国产美女久久久| 国产亚洲精久久久久久无码77777 国产亚洲精品成人AA片新蒲金 | 亚洲精品无码久久久久A片苍井空| 久久精品国产亚洲AV无码娇色| 久久久久亚洲av无码尤物| 亚洲精品夜夜夜妓女网| 亚洲综合无码AV一区二区| 亚洲一区二区三区在线播放| 亚洲A∨午夜成人片精品网站| 免费**毛片在线播放直播| 国产一区二区三区免费看| 国产在线观看免费不卡| 国产大片线上免费看| 免费一级做a爰片久久毛片潮喷| 国产猛烈高潮尖叫视频免费 | 免费亚洲视频在线观看| 麻豆va在线精品免费播放| 色多多A级毛片免费看| 中文字幕视频免费在线观看 | 亚洲精品免费在线观看| 中文字幕亚洲第一在线|