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(ForEachSupport.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 [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
