Appengine uses servlet spec 2.4 so the compatible jstl library is
version 1.1.  the jsp library
is version 2.0.

You compile w/ those locally, and yes, they are provided by the
container for production deployment
so you don't include them in your war file/directory.

If your custom tag is uniquely identified, that is not replacing an
existing class in the jstl library
then it will be found by the class loader.
(However, if it contains classes which are not white-listed, the
resolved classes won't be loaded.. ).



On May 31, 8:25 am, Brian <br...@draftpik.com> wrote:
> Hello,
>
> I am trying to track down a very obscure issue in GAE/J.  I have my own
> custom ForEachTag that I've written that extends from JSTL
> 1.2's org.apache.taglibs.standard.tag.rt.core.ForEachTag.  Obviously, in
> order to compile my app, I need to compile with the jstl-1.2.jar.
>  Compilation and execution in my local GAE dev environment works just fine.
>  I've noticed, however, that when I deploy to GAE/J, I get
> a  java.lang.NoSuchFieldError: deferredExpression during the call to
> release() at:
>
> at
> org.apache.taglibs.standard.tag.common.core.ForEachSupport.release(ForEachS 
> upport.java:178)
>
> I've found that the only way to work around this issue is to exclude the
> jstl-1.2.jar from my exploded/WEB-INF/lib directory before deploying to GAE.
>  Based on my reading, it seems that Jetty possibly includes JSTL 1.2 bundled
> in its libs?  This particular deferredExpression issue seems to happen to
> people when there are multiple, conflicting JSTL libraries in the classpath.
>
> I have found one other very confusing element to this situation.  I have a
> second version of my web application currently deployed to GAE/J.  It works
> just fine, even when executing the identical JSP!  Only one of my two apps
> has this particular issue.
>
> My question is two-fold:
>
> 1) Are there environmental differences between different app instances on
> GAE/J?  Is it possible that some apps use one servlet container while other
> apps use a different servlet container?  If Jetty is the culprit, are there
> others running perhaps Tomcat, which is why the issue only affects one, but
> not both of my apps?
>
> 2) How can I fix this issue? :)  Ideally, I should be able to deploy my
> webapp with the jstl-1.2.jar included.  In order to deploy without it, I
> have to manually remove it from the WEB-INF/lib directory prior to
> deployment.  I really don't think this should be necessary (especially
> considering that it actually does work on a separate app).  Really hoping
> there is a good solution here without needing to impact my current
> deployment procedure (which is basically just a build & deploy via IntelliJ
> IDEA).
>
> Anecdotal site point relating to question #1: I have found that some app
> instances I have are particularly slow, even with "Always On" enabled.  Is
> this possibly an artifact of different environments/servlet containers
> between apps?  Is there any way to configure this behavior?
>
> If I could get some more background on the environment(s) used in GAE/J,
> perhaps it would help me understand this problem better and have a better
> idea of how to solve it.
>
> Thanks in advance for any assistance you can provide!!
>
> Brian

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to