jinfeng_wang

          G-G-S,D-D-U!

          BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
            400 Posts :: 0 Stories :: 296 Comments :: 0 Trackbacks
          Web Application Compilation

          Using Ant is the preferred way to compile web applications using JSPC. Use the script given below to precompile a webapp:

          <project name="Webapp Precompilation" default="all" basedir="."> 
          
            <target name="jspc"> 
          
              <taskdef classname="org.apache.jasper.JspC" name="jasper2" > 
                <classpath id="jspc.classpath"> 
                  <pathelement location="${java.home}/../lib/tools.jar"/> 
                  <fileset dir="${tomcat.home}/bin"> 
                    <include name="*.jar"/> 
                  </fileset> 
                  <fileset dir="${tomcat.home}/server/lib"> 
                    <include name="*.jar"/> 
                  </fileset> 
                  <fileset dir="${tomcat.home}/common/lib"> 
                    <include name="*.jar"/> 
                  </fileset> 
                </classpath> 
              </taskdef> 
          
              <jasper2 
                       validateXml="false" 
                       uriroot="${webapp.path}" 
                       webXmlFragment="${webapp.path}/WEB-INF/generated_web.xml" 
                       outputDir="${webapp.path}/WEB-INF/src" /> 
          
            </target> 
          
            <target name="compile">
          
              <mkdir dir="${webapp.path}/WEB-INF/classes"/>
              <mkdir dir="${webapp.path}/WEB-INF/lib"/>
          
              <javac destdir="${webapp.path}/WEB-INF/classes"
                     optimize="off"
                     debug="on" failonerror="false"
                     srcdir="${webapp.path}/WEB-INF/src" 
          	   excludes="**/*.smap">
                <classpath>
                  <pathelement location="${webapp.path}/WEB-INF/classes"/>
                  <fileset dir="${webapp.path}/WEB-INF/lib">
                    <include name="*.jar"/>
                  </fileset>
                  <pathelement location="${tomcat.home}/common/classes"/>
                  <fileset dir="${tomcat.home}/common/lib">
                    <include name="*.jar"/>
                  </fileset>
                  <pathelement location="${tomcat.home}/shared/classes"/>
                  <fileset dir="${tomcat.home}/shared/lib">
                    <include name="*.jar"/>
                  </fileset>
                  <fileset dir="${tomcat.home}/bin"> 
                    <include name="*.jar"/> 
                  </fileset> 
                </classpath>
                <include name="**" />
                <exclude name="tags/**" />
              </javac>
          
            </target>
          
            <target name="all" depends="jspc,compile">
            </target>
          
          </project>
          

          The following command line can be used to run the script (replacing the tokens with the Tomcat base path and the path to the webapp which should be precompiled):

          $ANT_HOME/ant -Dtomcat.home=<$TOMCAT_HOME> -Dwebapp.path=<$WEBAPP_PATH>
          

          Then, the declarations and mappings for the servlets which were generated during the precompilation must be added to the web application deployment descriptor. Insert the ${webapp.path}/WEB-INF/generated_web.xml at the right place inside the ${webapp.path}/WEB-INF/web.xml file. Restart the web application (using the manager) and test it to verify it is running fine with precompiled servlets. An appropriate token placed in the web application deployment descriptor may also be used to automatically insert the generated servlet declarations and mappings using Ant filtering capabilities. This is actually how all the webapps distributed with Tomcat are automatically compiled as part of the build process.

          posted on 2005-12-15 22:42 jinfeng_wang 閱讀(602) 評論(0)  編輯  收藏 所屬分類: java
          主站蜘蛛池模板: 通城县| 登封市| 灵寿县| 台江县| 陆川县| 汾阳市| 漳浦县| 江安县| 宁陕县| 和顺县| 萝北县| 霍邱县| 黄山市| 呼伦贝尔市| 册亨县| 普安县| 东平县| 蛟河市| 广宗县| 眉山市| 仙居县| 东城区| 随州市| 鄂托克旗| 昌吉市| 筠连县| 象山县| 隆昌县| 清水河县| 宁南县| 香河县| 龙泉市| 罗平县| 咸阳市| 临江市| 长子县| 克什克腾旗| 泰安市| 新野县| 江陵县| 中方县|