You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2004/03/04 20:29:33 UTC

DO NOT REPLY [Bug 27451] New: - JspC won't detect compile-time include changes

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=27451>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=27451

JspC won't detect compile-time include changes

           Summary: JspC won't detect compile-time include changes
           Product: Tomcat 4
           Version: 4.1.24
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: Minor
          Priority: Other
         Component: Jasper 2
        AssignedTo: tomcat-dev@jakarta.apache.org
        ReportedBy: nathanc@tni.com


JspC, unlike the Jasper2 runtime, won't detect changes to a compile-time include
and recompile the parent jsp.

In my testing environment I keep the generated *_jsp.java files around so I
don't have to recompile every jsp every time.

In nearly all JSP files in my webapp I have the following compile time
include:

<%@ include file="main.jsp"%>

The file main.jsp includes class methods and creates objects that are common to
nearly all of my JSP pages.

I am using ant 1.5.3 with the following task segment in my build file:

<jspc destdir="${jspc.src.jsp.dir}" 
      webinc="${jspc.base.dir}/fragment.xml" 
      package="jsp" 
      compiler="jasper41">
  <classpath>
    <fileset dir="${publish.common.lib.dir}">
      <include name="ant.jar"/>
      <include name="jasper-compiler.jar"/>
      <include name="jasper-runtime.jar"/>
      <include name="servlet.jar"/>
    </fileset>
    <pathelement path="${build.dir}"/>
  </classpath>
  <webapp basedir="${deploy.dir}"/>
</jspc>


I even tried calling JSPC directly using the task fragment described in
the Tomcat 4.1 documentation
(http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jasper-howto.html):

  <taskdef classname="org.apache.jasper.JspC" name="jasper2" > 
    <classpath id="jspc.classpath"> 
      <pathelement location="${java.home}/../lib/tools.jar"/> 
      <fileset dir="${tomcat.server.lib.dir}"> 
        <include name="*.jar"/> 
      </fileset> 
      <fileset dir="${publish.common.lib.dir}"> 
        <include name="*.jar"/> 
      </fileset> 
    </classpath> 
  </taskdef> 

  <jasper2 
           validateXml="false" 
           package="jsp"
           uriroot="${deploy.dir}" 
           webXmlFragment="${jspc.base.dir}/fragment.xml" 
           outputDir="${jspc.src.jsp.dir}" />


Both of these produce the same results, the main.jsp file gets compiled and none
of the .jsp files that include it get compiled.

---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org