Mantis Bugtracker
  

Viewing Issue Advanced Details Jump to Notes ] View Simple ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0000097 [Resin] minor always 04-12-05 00:00 01-11-08 16:00
Reporter sam View Status public  
Assigned To ferg
Priority normal Resolution fixed Platform
Status closed   OS
Projection none   OS Version
ETA none Fixed in Version 3.1.5 Product Version
  Product Build 3.0.12
Summary 0000097: Ant task for JspCompiler
Description RSN-88
(rep by D Becker)

After a number of google searches, I have been unable to figure out how to
nicely precompile JSP pages for Resin via Ant. I've found the JspCompiler
class, but that seems to be geared for one-off compiling. There's got to be
a better way.
Steps To Reproduce
Additional Information Ant
Attached Files

- Relationships

- Notes
(0000101)
user150
04-12-05 00:00

With resin 2 our company used the -compile option of httpd.exe to compile a single JSP page and then built a little script to discover all of the JSP pages to be compiled using the 'find' command. However, resin 3 does not support the -compile flag.

I'm trying to build JSP compilation into our ant build but running up against a roadblock using JspCompiler. I have successfully compiled the JSP pages for our app which do not use taglibs, but any page with a taglib always fails with the following error:

Exception in thread "main" com.caucho.jsp.JspLineParseException: /searchTableView.jsp:18: Can't find taglib-location `/s
truts-bean'. The taglib-location must match a tag library either:
1) by pointing to a .tld directly, relative to the application's root directory
2) specified in the web.xml
3) defined in a jar's .tld in META-INF
4) defined in a .tld in WEB-INF
5) predefined by Resin
        at com.caucho.jsp.JspParser.error(JspParser.java:1952)
        at com.caucho.jsp.JspParser.processTaglib(JspParser.java:1618)
        at com.caucho.jsp.JspParser.processTaglibDirective(JspParser.java:1585)
        at com.caucho.jsp.JspParser.parseDirective(JspParser.java:1120)
        at com.caucho.jsp.JspParser.parseScriptlet(JspParser.java:1002)
        at com.caucho.jsp.JspParser.parseNode(JspParser.java:406)
        at com.caucho.jsp.JspParser.parseJsp(JspParser.java:320)
        at com.caucho.jsp.JspParser.parse(JspParser.java:244)
        at com.caucho.jsp.JspCompilerInstance.generate(JspCompilerInstance.java:444)
        at com.caucho.jsp.JspCompiler.compileJsp(JspCompiler.java:625)
        at com.caucho.jsp.JspCompiler.main(JspCompiler.java:574)


I'm not sure what's going on because WEB-INF/web.xml contains this:

  <taglib>
    <taglib-uri>/struts-bean</taglib-uri>
    <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
  </taglib>


And the JSP contains this:

  <%@ taglib uri="/struts-bean" prefix="bean" %>


This page compiles fine when actually running under resin, but not when using the JspCompiler from the command line like so:

java -cp /usr/local/resin/lib/resin.jar:/usr/local/resin/lib/jsdk-24.jar:/usr/local/resin/lib/isorelax.
jar:/usr/local/resin/lib/jstl-11.jar:/usr/local/resin/lib/jta-101.jar:/usr/local/resin/lib/jmx-12.jar:./web/WEB-INF/lib
/nprise.jar:./web/WEB-INF/classes com.caucho.jsp.JspCompiler -conf ./compile-app.xml web/searchTableView.jsp


and my compile-app.xml looks like this:

<web-app xmlns="http://caucho.com/ns/resin"> [^]
  <java compiler="javac" args="-source 1.4 -g"/>
  <app-dir>/usr/local/build/di.main/webapp/web</app-dir>
</web-app>


The lack of JSP compilation as part of our build process is a major reduction in functionality from resin 2.x. An ant task would be quite nice, but at this point even getting command line JspCompiler to work would be enough.

 
(0000102)
mate
04-12-05 00:00

Precompilation with and works fine for me; I just send the application root as parameter to the JspCompiler. Also remember to use fork.

  <target name="jspcompile">
    <java classname="com.caucho.jsp.JspCompiler" fork="true" >
      <classpath>
        ...
      </classpath>
      <arg line="-app-dir ${webapp.root}" />
    </java>
  </target>
 
(0002642)
ferg
01-11-08 16:00

See http://wiki.caucho.com/Ant [^] for documentation


 

- Issue History
Date Modified Username Field Change
04-12-05 00:00 sam New Issue
01-11-08 16:00 ferg Note Added: 0002642
01-11-08 16:00 ferg Assigned To  => ferg
01-11-08 16:00 ferg Status acknowledged => closed
01-11-08 16:00 ferg Resolution open => fixed
01-11-08 16:00 ferg version 3.0.12 =>
01-11-08 16:00 ferg Fixed in Version  => 3.1.5


Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
35 total queries executed.
31 unique queries executed.
Powered by Mantis Bugtracker