Thanks Joakim, we use Maven to precompile jsp in our other products so we
know all about that, but this product still uses Ant and has a really
strange layout for historical reasons.  We'll have to see what we can do
about that.

Cheers,
Craig


On Fri, Nov 9, 2012 at 11:19 AM, Joakim Erdfelt <[email protected]> wrote:

> The use of taglibs under Servlet 3.0 requires that the taglib support
> implementation classes are obtained through a server classloader.
> It started with the JSTL 1.2 standard, these taglibs cannot be in the
> webapp classpath, only the server classpath/classloader.
> Jasper Compiler even enforces this requirement.
> Jetty itself also enforces this requirement by filtering webapp included
> versions.
> With ant you cannot satisfy this requirement.
>
> That being said, you can have precompiled JSP's, but with maven instead.
> Here's the same index.jsp, with a web.xml suited for servlet spec 3.0, and
> using the jetty 8.1.7 version of the jetty-jspc-maven-plugin.
> JSP precompile will work via jetty-jspc-maven-plugin as our plugin creates
> the appropriate server classloader tree for the jasper JSPC to work with.
>
> If you have no servlet-3.0 requirement, stick with the Jetty 7.x series,
> as that supports servlet 2.5.
> If you have a servlet 3.0 requirement, then consider upgrading your build
> infrastructure to maven.
> If you cannot upgrade to maven, and are stuck with ant, then you lose the
> ability to do JSP precompile if you also use taglibs (especially the
> standard JSTL and even the JSF taglibs).
>
> Know that jetty 7.x and 8.x are released in parallel, from essentially the
> same codebase, with the only difference being the servlet spec support.
>
> Jetty 7.x = Servlet 2.5
> Jetty 8.x = Servlet 3.0
>
> Note: Jetty 7.6.8 and Jetty 8.1.8 were released November 8th.
> Annoucement:
> http://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00035.html
>
> And for future reference ...
> Jetty 9.x (currently in milestones) = Servlet 3.1 (spec still in early
> alpha)
>
> --
> Joakim Erdfelt <[email protected]>
> webtide.com <http://www.webtide.com/>
> Developer advice, services and support
> from the Jetty & CometD experts
> eclipse.org/jetty - cometd.org
>
>
>
> On Fri, Nov 9, 2012 at 9:02 AM, Craig Ching <[email protected]> wrote:
>
>> I'm curious if the way Jetty 8 resolves taglibs via the container might
>> be causing us problems with this?
>>
>>
>> On Thu, Nov 8, 2012 at 11:01 AM, Craig Ching <[email protected]>wrote:
>>
>>> Hi Joakim,
>>>
>>> I am a colleague of Wayne's helping him with his problem.  I've attached
>>> a simple ant build script and source to reproduce the problem we're
>>> having.  The build script is from your stackoverflow entry that Wayne
>>> linked to.  Note there is a circular dependency in that ant script as the
>>> "jspc" target depends on the "compile" target and compile is supposed to
>>> compile the servlet generated by the "jspc" target.  I'm no ant expert, but
>>> that doesn't seem to be related to the problem that Wayne is having.
>>>
>>> Thanks and any help is much appreciated!
>>>
>>> Cheers,
>>> Craig
>>>
>>>
>>>
>>> On Thu, Nov 8, 2012 at 10:24 AM, Johnson, Wayne 
>>> <[email protected]>wrote:
>>>
>>>> Thanks for the reply.****
>>>>
>>>> ** **
>>>>
>>>> I don't have anything in the WEB-INF/lib directory.  ****
>>>>
>>>> ** **
>>>>
>>>> I do have both javax.servlet.jsp.jstl-1.2.0.v201105211821.jar and
>>>> org.apache.taglibs.standard.glassfish-1.2.0.v201112081803.jar on the
>>>> classpath.  This is correct, right?****
>>>>
>>>> ** **
>>>>
>>>> ** **
>>>>
>>>> *From:* [email protected] [mailto:
>>>> [email protected]] *On Behalf Of *Joakim Erdfelt
>>>> *Sent:* Thursday, November 08, 2012 10:06 AM
>>>> *To:* JETTY user mailing list
>>>> *Subject:* Re: [jetty-users] Problems precompiling with Jasper2 in
>>>> Jetty8****
>>>>
>>>> ** **
>>>>
>>>> Make sure you don't have any conflicting jars between what is in your
>>>> WEB-INF/lib and what is in ${jetty.home}/lib/jsp****
>>>>
>>>> ** **
>>>>
>>>> Keep in mind that Jetty itself, and even the maven plugin, isolates
>>>> these differences for you with a webapp classloader.****
>>>>
>>>> But with ANT you have no such safety net, so you have to be extra
>>>> careful to not have duplicate classes in both places.****
>>>>
>>>> ** **
>>>>
>>>> A common scenario for that error is having 2 different (jstl) standard
>>>> taglib jars.****
>>>>
>>>>
>>>> ****
>>>>
>>>> --****
>>>>
>>>> Joakim Erdfelt <[email protected]>****
>>>>
>>>> webtide.com <http://www.webtide.com/>****
>>>>
>>>> Developer advice, services and support
>>>> from the Jetty & CometD experts****
>>>>
>>>> eclipse.org/jetty - cometd.org****
>>>>
>>>>
>>>>
>>>> ****
>>>>
>>>> On Thu, Nov 8, 2012 at 8:40 AM, Johnson, Wayne <[email protected]>
>>>> wrote:****
>>>>
>>>> I am migrating a webapp from Jetty6 (stop laughing, it's worked well
>>>> for years) to Jetty8 and I'm getting the following error:
>>>>
>>>> org.apache.jasper.JasperException:
>>>> file:D:/dev/HEAD/eadev/clients/java/cfgmgr/jsp/displayAttribute.jsp(7,62)
>>>> PWC6188: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be
>>>> resolved in either web.xml or the jar files deployed with this application
>>>>
>>>> This compile use to work in Jetty 6 but now fails.  I see this in quite
>>>> a few places in a Google search, but most appear in reference to this error
>>>> when loading the webapp, not when precompiling it.
>>>>
>>>> I tried changing the Ant task to follow joakime suggested task at
>>>> http://stackoverflow.com/questions/11735628/precompile-jsps-into-classes-for-jetty8-using-antbut
>>>>  to no avail.
>>>>
>>>> I am using 8.1.7.v20120910, but I get the same error with
>>>> 7.6.7.v20120910.
>>>>
>>>> The webapp is precompiled using an Ant task with the following target:
>>>>   <target name="jspc" depends="init, version_compile, mqservlets">
>>>>
>>>>     <path id="jasper2.classpath">
>>>>       <fileset dir="${env.JETTY_HOME}">
>>>>             <include name="lib/servlet-api-*.jar" />
>>>>             <include name="lib/jsp/*.jar" />
>>>>       </fileset>
>>>>     </path>
>>>>
>>>>     <pathconvert property="jasper2.classpath" refid="jasper2.classpath"
>>>> />
>>>>     <echo message="jasper2.classpath=${jasper2.classpath}" />
>>>>
>>>>     <mkdir dir="${webcfgmgr}/jsp/servlets"/>
>>>>     <taskdef classname="org.apache.jasper.JspC" name="jasper2"
>>>> classpathref="jasper2.classpath"/>
>>>>
>>>>     <jasper2
>>>>             package=""
>>>>             uriroot="${webcfgmgr}/jsp"
>>>>             validateXml="false"
>>>>             webXmlFragment="${webcfgmgr}/WEB-INF/generated_web.xml"
>>>>             outputDir="${webcfgmgr}/jsp/servlets"/>
>>>>   </target>
>>>>
>>>> The classpath output is:
>>>> jspc:
>>>>      [echo]
>>>> jasper2.classpath=D:\dev\jetty-distribution-8.1.7.v20120910\lib\jsp\com.sun.el-2.2.0.v201108011116.jar;D:\dev\jetty-distribution-8.1.7.v20120910\lib\jsp\javax.el-2.2.0.v201108011116.jar;D:\dev\jetty-distribution-8.1.7.v20120910\lib\jsp\javax.servlet.jsp-2.2.0.v201112011158.jar;D:\dev\jetty-distribution-8.1.7.v20120910\lib\jsp\javax.servlet.jsp.jstl-1.2.0.v201105211821.jar;D:\dev\jetty-distribution-8.1.7.v20120910\lib\jsp\org.apache.jasper.glassfish-2.2.2.v201112011158.jar;D:\dev\jetty-distribution-8.1.7.v20120910\lib\jsp\org.apache.taglibs.standard.glassfish-1.2.0.v201112081803.jar;D:\dev\jetty-distribution-8.1.7.v20120910\lib\jsp\org.eclipse.jdt.core-3.7.1.jar;D:\dev\jetty-distribution-8.1.7.v20120910\lib\servlet-api-3.0.jar
>>>>
>>>> The source line this barfs on is:
>>>> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"; %>
>>>>
>>>> Anyone have any suggestions?  Thanks for any help you can give me.
>>>> _______________________________________________
>>>> jetty-users mailing list
>>>> [email protected]
>>>> https://dev.eclipse.org/mailman/listinfo/jetty-users****
>>>>
>>>> ** **
>>>>
>>>> _______________________________________________
>>>> jetty-users mailing list
>>>> [email protected]
>>>> https://dev.eclipse.org/mailman/listinfo/jetty-users
>>>>
>>>>
>>>
>>
>> _______________________________________________
>> jetty-users mailing list
>> [email protected]
>> https://dev.eclipse.org/mailman/listinfo/jetty-users
>>
>>
>
> _______________________________________________
> jetty-users mailing list
> [email protected]
> https://dev.eclipse.org/mailman/listinfo/jetty-users
>
>
_______________________________________________
jetty-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/jetty-users

Reply via email to