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

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

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

    DreamTiger的夢(mèng)幻樂(lè)園

    隨便寫寫,自得其樂(lè),生活就是這樣

      BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
      29 Posts :: 0 Stories :: 13 Comments :: 0 Trackbacks
    今天研究對(duì)象是Ant,用于對(duì)msms系統(tǒng)進(jìn)行Tomcat的自動(dòng)部署。

    遇到一個(gè)怪問(wèn)題,百思不得其解:
    通過(guò)ant depoly可以把msms.war部署到tomcat上。當(dāng)然,要求這時(shí)候webapps下面沒(méi)有msms目錄。
    看tomcat的紀(jì)錄,加載msms.war正常,網(wǎng)頁(yè)也可以打開(kāi)。

    通過(guò)ant undeploy,可以把msms卸載。Tomcat顯示:
    Undeploying context [/msms]
    正常卸載了。問(wèn)題是,去看webapps目錄下面,居然有一個(gè)msms目錄的殘骸,里面保留的目錄是
    WEB-INF\lib
    有以下幾個(gè)文件殘留著:
    commons-digester.jar
    commons-validator.jar
    struts.jar

    這時(shí)候msms目錄也無(wú)法手工刪除,必須停掉tomcat后才能刪除。

    我裝的tomcat是5.5。不知道是否還有人遇到過(guò)這種情況,我反正是暈了。

    build.properties文件如下:
    tomcat.dir=C:/ApacheGroup/Tomcat5.5
    tomcat.webapps=C:/ApacheGroup/Tomcat5.5/webapps
    tomcat.manager.url=http://localhost:8080/manager
    tomcat.manager.username=admin
    tomcat.manager.password=xxxxxxxx

    build.xml文件如下:
    <?xml version="1.0"?>
    <project name="msms" default="compile" basedir=".">
        <!-- Ant Tomcat Task Definition -->
        <taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask">
            <classpath>
                <path location="${tomcat.dir}/server/lib/catalina-ant.jar" />
            </classpath>
        </taskdef>

        <taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask">
            <classpath>
                <path location="${tomcat.dir}/server/lib/catalina-ant.jar" />
            </classpath>
        </taskdef>

        <taskdef name="install" classname="org.apache.catalina.ant.InstallTask">
            <classpath>
                <path location="${tomcat.dir}/server/lib/catalina-ant.jar" />
            </classpath>
        </taskdef>

        <taskdef name="reload" classname="org.apache.catalina.ant.ReloadTask">
            <classpath>
                <path location="${tomcat.dir}/server/lib/catalina-ant.jar" />
            </classpath>
        </taskdef>

        <taskdef name="list" classname="org.apache.catalina.ant.ListTask">
            <classpath>
                <path location="${tomcat.dir}/server/lib/catalina-ant.jar" />
            </classpath>
        </taskdef>

        <taskdef name="start" classname="org.apache.catalina.ant.StartTask">
            <classpath>
                <path location="${tomcat.dir}/server/lib/catalina-ant.jar" />
            </classpath>
        </taskdef>

        <taskdef name="stop" classname="org.apache.catalina.ant.StopTask">
            <classpath>
                <path location="${tomcat.dir}/server/lib/catalina-ant.jar" />
            </classpath>
        </taskdef>

        <property name="build" value="build" />
        <property name="dist" value="dist" />
        <property name="src" value="src/java" />
        <property name="test" value="src/test" />
        <property name="war-config" value="src/config" />
        <property name="report" value="report" />
        <property name="lib" value="lib" />
        <property name="web" value="web" />
        <property name="meta" value="meta" />
        <property name="context-path" value="${ant.project.name}" />
        <property file="build.properties" />

        <path id="build.classpath">
            <fileset file="${lib}/*.jar" />
            <fileset dir="${tomcat.dir}/common/lib">
                <include name="*.jar" />
            </fileset>
            <fileset dir="${tomcat.dir}/common/endorsed">
                <include name="*.jar" />
            </fileset>
            <pathelement path="${build}" />
        </path>

        <!-- Hibernate Tool Task Definition -->
        <taskdef name="hibernatetool" classname="org.hibernate.tool.ant.HibernateToolTask" classpathref="build.classpath" />
       
        <target name="clean">
            <echo message="Cleaning up the build and dist directories" />
            <delete dir="${build}" />
            <mkdir dir="${build}" />
            <delete dir="${dist}" />
            <mkdir dir="${dist}" />
        </target>

        <target name="copy-resources">
            <copy todir="${build}">
                <fileset dir="${src}">
                    <exclude name="**/*.java" />
                    <exclude name="**/*.hbm.xml" />
                </fileset>
            </copy>
        </target>

        <target name="compile" depends="copy-resources">
            <javac destdir="${build}" srcdir="${src}:${test}">
                <classpath refid="build.classpath" />
            </javac>
        </target>

        <target name="initdb" depends="compile">
            <hibernatetool destdir="${build}">
                <classpath>
                    <path location="${build}" />
                </classpath>
                <annotationconfiguration configurationfile="src/java/hibernate.cfg.xml" />

                <hbm2ddl create="true" />
            </hibernatetool>
        </target>

        <target name="run" depends="compile">
            <java fork="true" classname="cn.ac.rcpa.msms.tools.ProjectManager" classpathref="build.classpath">
                <classpath path="${build}" />
                <arg value="${action}" />
                <arg value="${project}" />
                <arg value="${description}" />
            </java>
        </target>

        <target name="test" depends="compile" description="run junit test">
            <delete dir="${report}" />
            <mkdir dir="${report}" />
            <junit dir="." fork="true" printsummary="on" haltonfailure="false" failureproperty="tests.failed" showoutput="true">
                <classpath refid="build.classpath" />
                <formatter type="brief" />
                <batchtest todir="${report}">
                    <fileset dir="${build}">
                        <include name="**/*Test.*" />
                        <include name="**/Test*.*" />
                    </fileset>
                </batchtest>
            </junit>
            <fail if="tests.failed">
          ***********************************************************
          **** One or more tests failed! Check the output ... ****
          ***********************************************************
        </fail>
        </target>

        <target name="create-war" depends="clean, compile" description="build release war">
            <echo message="creation the WAR file...${context-path}.war" />
            <war destfile="${dist}/${context-path}.war" webxml="${meta}/web.xml">
                <classes dir="${build}">
                    <exclude name="**/*Test.*" />
                    <exclude name="**/Test*.*" />
                    <exclude name="hibernate.cfg.xml" />
                </classes>
                <lib dir="${lib}" />
                <fileset dir="${web}" />
                <zipfileset dir="${war-config}" prefix="WEB-INF/classes" />
            </war>
            <!--        <scp file="${dist}/${context-path}.war" todir="root:${password}@172.16.1.20:/usr/local/tomcat/webapps" trust="true" /> -->
        </target>

        <target name="deploy" description="Install application in Tomcat">
            <deploy url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}" path="/${context-path}" localWar="file:${dist}/${context-path}.war" />
        </target>

        <target name="undeploy" description="Remove application in Tomcat" if="already.deployed">
            <undeploy url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}" path="/${context-path}" />
        </target>

        <target name="reload" description="Reload application in Tomcat">
            <reload url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}" path="/${context-path}" />
        </target>

        <target name="start" description="Start Tomcat application">
            <start url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}" path="/${context-path}" />
        </target>

        <target name="stop" description="Stop Tomcat application">
            <stop url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}" path="/${context-path}" />
        </target>

        <target name="list" description="List Tomcat applications">
            <list url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}" />
        </target>

        <target name="deploy-application" description="Compile the web application...">
            <echo message="Undeploying the application only if it's deployed..." />
            <available file="${tomcat.webapps}/${context-path}.war" property="already.deployed" />
            <antcall target="undeploy" />
            <antcall target="create-war" />
            <antcall target="deploy" />
        </target>
    </project>


    posted on 2005-12-08 18:13 夢(mèng)幻樂(lè)園 閱讀(1415) 評(píng)論(3)  編輯  收藏 所屬分類: Java

    Feedback

    # re: Ant+Tomcat自動(dòng)部署的怪問(wèn)題 2006-02-26 13:32 Alex
    沒(méi)有刪除調(diào)一般是因?yàn)槲募灰粋€(gè)進(jìn)程使用,你可以先停掉tomcat試下  回復(fù)  更多評(píng)論
      

    # re: Ant+Tomcat自動(dòng)部署的怪問(wèn)題 2006-02-26 17:48 夢(mèng)幻樂(lè)園
    停掉tomcat就無(wú)法在線部署了。后來(lái)也只能是用怪招完成的:
    http://m.tkk7.com/DreamTiger/archive/2005/12/14/23944.html  回復(fù)  更多評(píng)論
      

    # re: Ant+Tomcat自動(dòng)部署的怪問(wèn)題 2006-03-09 17:34 tristone
    只有Windows上才會(huì)有的問(wèn)題,
    創(chuàng)建META-INF目錄, 在目錄里新建context.xml,加入如下內(nèi)容

    <?xml version="1.0" encoding="UTF-8"?>
    <Context reloadable="true" antiResourceLocking="true">
    </Context>
      回復(fù)  更多評(píng)論
      

    主站蜘蛛池模板: 免费一级特黄特色大片在线观看| 亚洲精品无码MV在线观看 | 亚洲精品字幕在线观看| 暖暖在线视频免费视频| 亚洲免费人成视频观看| 又粗又大又猛又爽免费视频| 国内永久免费crm系统z在线| 在线亚洲午夜片AV大片| 国产国拍精品亚洲AV片| 中文字幕av无码无卡免费| 久久国产美女免费观看精品| 亚洲中文字幕无码一去台湾| 亚洲日本中文字幕一区二区三区| 1000部拍拍拍18免费网站| 女人裸身j部免费视频无遮挡| 久久亚洲精品成人av无码网站| 免费永久看黄在线观看app| 每天更新的免费av片在线观看| 国产精品日本亚洲777| 亚洲一区二区中文| 免费国产a国产片高清| 国产在线观看麻豆91精品免费| 曰韩无码AV片免费播放不卡| 亚洲午夜电影在线观看| 亚洲精品无码高潮喷水在线| 国产一精品一aⅴ一免费| 中文字幕av无码无卡免费| 免费av片在线观看网站| 一级特黄aaa大片免费看| 学生妹亚洲一区二区| 久久精品国产亚洲AV麻豆~ | 亚洲无人区视频大全| 狠狠综合久久综合88亚洲| 国产美女无遮挡免费网站| 亚洲免费黄色网址| 久久福利青草精品资源站免费 | 免费观看理论片毛片| 69国产精品视频免费| 精品视频一区二区三区免费| 成人久久久观看免费毛片| 色偷偷噜噜噜亚洲男人|