You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by Obinna <ob...@gmail.com> on 2009/11/10 16:13:13 UTC

Re: embeddedJsp plugin causing jsp compilation issues

Hi Musachy,

There's another classloading conflict issue with the embedded jsp plugin.
This one has to do with the ELContextImpl.

Loading an embedded jsp page that uses EL and then trying to load a normal
page that uses EL throws:

     java.lang.ClassCastException:
org.apache.struts2.jasper.el.ELContextImpl cannot be cast to
org.apache.jasper.el.ELContextImpl
        at
org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:920)

Again, the embedded jsp page seems to cache it's version of the
ELContextImpl ( ion PageContextImpl.proprietaryEvaluate) which tomcat then
tries to cast to it's own version.

It looks like I could simply stop PageContextImpl from storing it's
generated EL context by modifying the getELContext() method, but I'm
guessing on a page/application with a lot of expressions that could hurt
quite a bit.

- Eric



On Tue, Oct 20, 2009 at 9:46 PM, Obinna <ob...@gmail.com> wrote:

> Tested it and it works for me!
> Great! Thanks a million.
>
>  - Eric
>
> On Tue, Oct 20, 2009 at 9:13 PM, Musachy Barroso <mu...@gmail.com>wrote:
>
>> small fix to JspApplicationContextImpl seems to make it work for
>> me(add the hash of the classloader to the key), give it a try and let
>> me know (update from trunk)
>>
>> musachy
>>
>> On Tue, Oct 20, 2009 at 11:00 AM, Musachy Barroso <mu...@gmail.com>
>> wrote:
>> > ok I was able to reproduce it, working on it (looks hairy)
>> >
>> > musachy
>> >
>> > On Tue, Oct 20, 2009 at 7:01 AM, Obinna <ob...@gmail.com> wrote:
>> >> Ok, So I've been able to inspect the classloaders and I think I see
>> what's
>> >> going wrong (though I'm not sure how best to fix it).
>> >>
>> >> Given my two webapps, AppA and AppB running simulatenously in tomcat. I
>> do
>> >> the following:
>> >>
>> >>  1. Load AppA
>> >>     a. Load normal jsp page (breakpoint not caught -> still using
>> tomcat
>> >> default JspFactory)
>> >>     b. Load an embeddedJSP page
>> >>          i.  Breakpoint caught at static initializer in
>> JSPRuntimeContext
>> >> (line 96)   {calling JspFactory.setDefaultFactory(factory); to
>> initialize
>> >> JspFactory implementation}
>> >>               - JSPFactory classloader is StandardClassLoader (good)
>> >>               - JspFactoryImpl classloader is AppA WebAppClassloader
>> (good)
>> >>          ii. Breakpoint caught at JSPApplicationContextImpl (line 79)
>> >> {calling impl = new JspApplicationContextImpl() to initialize new
>> servlet
>> >> context}
>> >>              - JspFactoryImpl classloader is AppA WebAppClassloader
>> (good)
>> >>              - JSPApplicationContextImpl classloader is AppA
>> >> WebAppClassloader (good)
>> >>
>> >> 2. Load AppB
>> >>     a. Load normal jsp page
>> >>             i. Breakpoint caught at JSPApplicationContextImpl (line 79)
>> >> {calling impl = new JspApplicationContextImpl() to initialize new
>> servlet
>> >> context}. This means that is is still using the JspFactoryImpl set in
>> step
>> >> 1.b.i above
>> >>              - JspFactoryImpl classloader is AppA WebAppClassloader
>> >> (bad!!!  using class loaded in AppA classloader)   !!!!!
>> >>              - JSPApplicationContextImpl classloader is AppA
>> >> WebAppClassloader (bad!!!  using class loaded in AppA classloader)
>> !!!!!
>> >>     b. Load embedded jsp page
>> >>             JSPApplicationContextImpl (line 76) tries to call {
>> >> JspApplicationContextImpl impl = (JspApplicationContextImpl)
>> >> context.getAttribute(KEY); }   and throws ClassCastException because
>> impl
>> >> class returned by context.getAttribute(KEY) was loaded by
>> >> AppAWebAppClassLoader but current class (JspApplicationContextImpl)
>> class
>> >> loader is now AppB WebAppClassLoader.
>> >>
>> >> It is as I suspected in my last email. I don't think that the
>> JspFactoryImpl
>> >> class set by JspFactory.setDefaultFactory(factory) when AppA was loaded
>> >> should be the one used by AppB. Somehow the JspFactoryImpl used should
>> >> probably be isolated by web application and if possible should only be
>> used
>> >> by the embeddedJSP compiler (not used globally for normal jsps as well)
>> >>
>> >>  - Eric
>> >>
>> >>
>> >>
>> >> On Tue, Oct 20, 2009 at 2:41 PM, Martin Gainty <mg...@hotmail.com>
>> wrote:
>> >>
>> >>>
>> >>> Eric-
>> >>> are you able to determine which classloader JspApplicationContext is
>> using
>> >>> to load JspApplicationContextImpl class?
>> >>>         System.out.println("The class of " + JspApplicationContextImpl
>> +
>> >>>                            " is " +
>> >>> JspApplicationContextImpl.getClass().getName());
>> >>>         System.out.println("The classLoader of " +
>> >>> JspApplicationContextImpl +
>> >>>                            " is " +
>> >>> JspApplicationContextImpl.getClass().getClassloader());
>> >>>
>> >>> were you able to verify the Jsp configuration entries in
>> >>> $CATALINA_HOME/conf
>> >>>     <servlet>
>> >>>        <servlet-name>jsp</servlet-name>
>> >>>
>> <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
>> >>>        <load-on-startup>3</load-on-startup>
>> >>>    </servlet>
>> >>> what is meant by term 'embedded' ..can i assume you are implementing
>> APR
>> >>> (apache portable runtime)?
>> >>>
>> >>> thanks for taking the time to look at this,
>> >>> Martin Gainty
>> >>> ______________________________________________
>> >>> Verzicht und Vertraulichkeitanmerkung/Note de déni et de
>> confidentialité
>> >>>
>> >>> Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene
>> >>> Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede
>> unbefugte
>> >>> Weiterleitung oder Fertigung einer Kopie ist unzulaessig. Diese
>> Nachricht
>> >>> dient lediglich dem Austausch von Informationen und entfaltet keine
>> >>> rechtliche Bindungswirkung. Aufgrund der leichten Manipulierbarkeit
>> von
>> >>> E-Mails koennen wir keine Haftung fuer den Inhalt uebernehmen.
>> >>> Ce message est confidentiel et peut être privilégié. Si vous n'êtes
>> pas le
>> >>> destinataire prévu, nous te demandons avec bonté que pour satisfaire
>> >>> informez l'expéditeur. N'importe quelle diffusion non autorisée ou la
>> copie
>> >>> de ceci est interdite. Ce message sert à l'information seulement et
>> n'aura
>> >>> pas n'importe quel effet légalement obligatoire. Étant donné que les
>> email
>> >>> peuvent facilement être sujets à la manipulation, nous ne pouvons
>> accepter
>> >>> aucune responsabilité pour le contenu fourni.
>> >>>
>> >>>
>> >>>
>> >>>
>> >>> > Date: Tue, 20 Oct 2009 14:14:55 +0300
>> >>> > Subject: Re: embeddedJsp plugin causing jsp compilation issues
>> >>> > From: obinna@gmail.com
>> >>> > To: dev@struts.apache.org
>> >>> >
>> >>> > An update...
>> >>> >
>> >>> > I've tried setting a breakpoint in the
>> >>> > JspApplicationContextImpl.getInstance() method and the
>> >>> > JspFactoryImpl().getJspApplicationContext() methods but for some
>> reason
>> >>> > cannot inspect the variable at that point to figure out which
>> classloader
>> >>> > are being called when.
>> >>> >
>> >>> > What is clear is that once an embeddedJsp is loaded, the default
>> >>> JspFactory
>> >>> > for ALL jsp pages (even non-embedded ones) becomes the
>> >>> > org.apache.struts2.jasper.runtime.JspFactoryImpl (even for a
>> separate
>> >>> > web-app!) because loading subsequent non-embedded pages for the
>> first
>> >>> time
>> >>> > (in either web-app) still hits and break in the
>> >>> > JspApplicationContextImpl.getInstance() method. It seems like using
>> the
>> >>> > embeddedJsp calls JspFactory().setDefaultFactory() or something and
>> that
>> >>> > this has a system-wide scope.
>> >>> >
>> >>> > I don't suppose that this would be a problem if it wasn't for some
>> >>> > classloader mix-up which means that when I then try to access an
>> >>> embeddedJsp
>> >>> > page in the second web-app, in the
>> >>> JspApplicationContextImpl.getInstance()
>> >>> > method it finds the JspApplicationContextImpl instance that was set
>> >>> during
>> >>> > the loading of some initial pages (such as login page) in this
>> second app
>> >>> > but it seems that that must have been set by a different classloader
>> >>> because
>> >>> > the class cast fails when it tries to cast that instance (on the
>> line
>> >>> > JspApplicationContextImpl impl = (JspApplicationContextImpl)
>> >>> > context.getAttribute(KEY)).
>> >>> >
>> >>> > I will continue to try to figure out how to inspect the variables
>> (and
>> >>> see
>> >>> > the classloaders) in my IDE...
>> >>> >
>> >>> > - Eric
>> >>> >
>> >>> >
>> >>> >
>> >>> > On Sat, Oct 17, 2009 at 9:12 PM, Musachy Barroso <musachy@gmail.com
>> >
>> >>> wrote:
>> >>> >
>> >>> > > nothing so obvious, JspApplicationContextImpl is obviously getting
>> >>> > > loaded by different classloaders, but I am out of ideas, I think
>> you
>> >>> > > can set a break point for classloading right? Try to do that and
>> see
>> >>> > > if you get any insight.
>> >>> > >
>> >>> > > musachy
>> >>> > >
>> >>> > > On Sat, Oct 17, 2009 at 2:57 AM, Obinna <ob...@gmail.com> wrote:
>> >>> > > > I have a ton of jars in my lib (but no el-api). The lib for that
>> >>> projects
>> >>> > > > looks as follows (both projects have similar libs):
>> >>> > > >
>> >>> > > > asterisk-java-1.0.jar
>> >>> > > > cglib-nodep-2.1_3.jar
>> >>> > > > chartengineapi.jar
>> >>> > > > com.ibm.icu_4.0.1.v20090415.jar
>> >>> > > > commons-beanutils-1.7.0.jar
>> >>> > > > commons-cli-1.0.jar
>> >>> > > > commons-codec-1.3.jar
>> >>> > > > commons-collections-3.2.1.jar
>> >>> > > > commons-dbcp.jar
>> >>> > > > commons-digester-1.8.jar
>> >>> > > > commons-fileupload-1.2.1.jar
>> >>> > > > commons-httpclient-3.1.jar
>> >>> > > > commons-io-1.1.jar
>> >>> > > > commons-lang-2.4.0.jar
>> >>> > > > commons-logging.jar
>> >>> > > > commons-pool.jar
>> >>> > > > coreapi.jar
>> >>> > > > crosstabcoreapi.jar
>> >>> > > > dataadapterapi.jar
>> >>> > > > dataaggregationapi.jar
>> >>> > > > dataextraction.jar
>> >>> > > > displaytag-1.2.jar
>> >>> > > > displaytag-export-poi-1.2.jar
>> >>> > > > dteapi.jar
>> >>> > > > ecxconnect-mmp-bl.jar
>> >>> > > > emitterconfig.jar
>> >>> > > > engineapi.jar
>> >>> > > > flute.jar
>> >>> > > > *freemarker-2.3.15.jar*
>> >>> > > > gnu-hylafax-core-1.0.3.jar
>> >>> > > > gnu-hylafax-inet-ftp-1.0.3.jar
>> >>> > > > itext-1.3.jar
>> >>> > > > jasypt-1.4.1.x.jar
>> >>> > > > jaxws-spring-1.8.jar
>> >>> > > > jep-3.3.0-trial.jar
>> >>> > > > joda-time-1.6.jar
>> >>> > > > js.jar
>> >>> > > > json.jar
>> >>> > > > jsonplugin-0.33.jar
>> >>> > > > jstl.jar
>> >>> > > > junit-4.4.jar
>> >>> > > > log4j-1.2.8.jar
>> >>> > > > mail-1.4.2.jar
>> >>> > > > mmpdemo-bl.jar
>> >>> > > > modelapi.jar
>> >>> > > > modelodaapi.jar
>> >>> > > > mysql-connector-java-5.0.5-bin.jar
>> >>> > > > odadesignapi.jar
>> >>> > > > *ognl-2.7.3.jar*
>> >>> > > > org.apache.commons.codec_1.3.0.v20080530-1600.jar
>> >>> > > > org.eclipse.birt.report.model_2.5.0.v20090605.jar
>> >>> > > > org.eclipse.emf.common_2.5.0.v200906080927.jar
>> >>> > > > org.eclipse.emf.ecore_2.5.0.v200906080927.jar
>> >>> > > > org.eclipse.emf.ecore.xmi_2.5.0.v200906080927.jar
>> >>> > > > org.w3c.css.sac_1.3.0.v200805290154.jar
>> >>> > > > poi-3.0.2-FINAL-20080204.jar
>> >>> > > > scriptapi.jar
>> >>> > > > spring-2.5.6.jar
>> >>> > > > spring-security-core-2.0.4.jar
>> >>> > > > spring-security-taglibs-2.0.4.jar
>> >>> > > > spring-test-2.5.6.jar
>> >>> > > > spring-webmvc-2.5.6.jar
>> >>> > > > spring-ws-1.5.2.jar
>> >>> > > > standard.jar
>> >>> > > > *struts2-core-2.1.8.jar*
>> >>> > > > *struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar
>> >>> > > > *struts2-jquery-plugin-1.0.8.jar
>> >>> > > > struts2-scope-plugin-1.0.4 (modified).jar
>> >>> > > > *struts2-spring-plugin-2.1.8.jar*
>> >>> > > > tidy.jar
>> >>> > > > trilead-ssh2-build213.jar
>> >>> > > > webservices-api.jar
>> >>> > > > webservices-rt.jar
>> >>> > > > xbean-spring-3.1.jar
>> >>> > > > *xwork-core-2.1.6.jar*
>> >>> > > >
>> >>> > > > I haven't tried testing this on another 'trimmed down' project.
>> Let
>> >>> me
>> >>> > > know
>> >>> > > > if anything is glaringly obvious here, otherwise, I'll try the
>> >>> > > trimming-down
>> >>> > > >
>> >>> > > >  Thanks for looking through this!
>> >>> > > > - Eric
>> >>> > > >
>> >>> > > >
>> >>> > > > On Sat, Oct 17, 2009 at 2:52 AM, Musachy Barroso <
>> musachy@gmail.com>
>> >>> > > wrote:
>> >>> > > >
>> >>> > > >> nvm. el-api.jar should not be in lib, after removing them I
>> have to
>> >>> > > >> webapps with jsp plugin working. Can you compare your jars to:
>> >>> > > >>
>> >>> > > >>  commons-el-1.0.jar
>> >>> > > >>  commons-fileupload-1.2.1.jar
>> >>> > > >>  commons-io-1.3.2.jar
>> >>> > > >>  commons-logging-1.1.1.jar
>> >>> > > >>  freemarker-2.3.15.jar
>> >>> > > >>  ognl-2.7.3.jar
>> >>> > > >>  struts2-core-2.1.9-SNAPSHOT.jar
>> >>> > > >>  struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar
>> >>> > > >>  xwork-core-2.1.7-SNAPSHOT.jar
>> >>> > > >>
>> >>> > > >> and tell me the exact steps after you load the app, to
>> reproduce the
>> >>> > > error?
>> >>> > > >>
>> >>> > > >> thanks for helping me test this btw :)
>> >>> > > >> musachy
>> >>> > > >>
>> >>> > > >> On Fri, Oct 16, 2009 at 4:49 PM, Musachy Barroso <
>> musachy@gmail.com
>> >>> >
>> >>> > > >> wrote:
>> >>> > > >> > I am getting a different error:
>> >>> > > >> >
>> >>> > > >> > javax.servlet.ServletException: java.lang.LinkageError: Class
>> >>> > > >> > javax/el/ExpressionFactory violates loader constraints
>> >>> > > >> >
>> >>> > >  org.apache.jasper.servlet.JspServlet.service(JspServlet.java:275)
>> >>> > > >> >
>> >>>  javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>> >>> > > >> >
>> >>> > > >>
>> >>> > >
>> >>>
>>  org.apache.struts2.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:154)
>> >>> > > >> >
>> >>> > > >>
>> >>> > >
>> >>>
>>  org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186)
>> >>> > > >> >
>> >>> > > >>
>> >>> > >
>> >>>
>>  com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:362)
>> >>> > > >> >
>> >>> > > >>
>> >>> > >
>> >>>
>>  com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:266)
>> >>> > > >> >
>> >>> > > >>
>> >>> > >
>> >>>
>>  com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165)
>> >>> > > >> >
>> >>> > > >> > which looks even more weird. Here are the jars I have in
>> >>> web-inf/lib:
>> >>> > > >> >
>> >>> > > >> > commons-el-1.0.jar
>> >>> > > >> > commons-fileupload-1.2.1.jar
>> >>> > > >> > commons-io-1.3.2.jar
>> >>> > > >> > commons-logging-1.1.1.jar
>> >>> > > >> > el-api-6.0.18.jar
>> >>> > > >> > freemarker-2.3.15.jar
>> >>> > > >> > ognl-2.7.3.jar
>> >>> > > >> > struts2-core-2.1.9-SNAPSHOT.jar
>> >>> > > >> > struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar
>> >>> > > >> > testjar-1.0.jar
>> >>> > > >> > xwork-core-2.1.7-SNAPSHOT.jar
>> >>> > > >> >
>> >>> > > >> > That's on a default installation of tomcat 6.0.20. Can you
>> compare
>> >>> > > >> > that to your jars?
>> >>> > > >> >
>> >>> > > >> > musachy
>> >>> > > >> >
>> >>> > > >> > On Thu, Oct 15, 2009 at 8:57 AM, Musachy Barroso <
>> >>> musachy@gmail.com>
>> >>> > > >> wrote:
>> >>> > > >> >> pretty consistent :), I will try to take a look.
>> >>> > > >> >>
>> >>> > > >> >> musachy
>> >>> > > >> >>
>> >>> > > >> >> On Thu, Oct 15, 2009 at 8:23 AM, Obinna <ob...@gmail.com>
>> >>> wrote:
>> >>> > > >> >>> No I don't have any unusual jars in my shared lib (learnt
>> my
>> >>> lesson
>> >>> > > >> last
>> >>> > > >> >>> time :| - I have some jax-ws web-service api stuff in
>> endorsed
>> >>> but
>> >>> > > >> that's
>> >>> > > >> >>> all).
>> >>> > > >> >>>
>> >>> > > >> >>> Placing the plugin jar in the shared dir ('lib' for Tomcat
>> 6)
>> >>> > > results
>> >>> > > >> in
>> >>> > > >> >>> struts not being able to find the plugin config file and
>> >>> throwing
>> >>> > > the
>> >>> > > >> error:
>> >>> > > >> >>> "There is no result type defined for type 'embeddedJsp'..."
>> >>> > > >> >>>
>> >>> > > >> >>> Given this, it is somewhat strange that, placing it in the
>> >>> web-app
>> >>> > > libs
>> >>> > > >> *as
>> >>> > > >> >>> well as *the tomcat lib results in struts trying to load
>> the
>> >>> trying
>> >>> > > to
>> >>> > > >> load
>> >>> > > >> >>> the plugin config file twice and throwing the error during
>> >>> startup:
>> >>> > > >> >>>
>> >>> > > >> >>> The package name 'embeddedjsp-default' at location package
>> -
>> >>> > > >> >>>
>> >>> > > >>
>> >>> > >
>> >>>
>> jar:file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/wtpwebapps/test/WEB-INF/lib/struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar!/struts-plugin.xml:29:82
>> >>> > > >> >>> is already been used by another package at location package
>> -
>> >>> > > >> >>>
>> >>> > > >>
>> >>> > >
>> >>>
>> jar:file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/lib/struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar!/struts-plugin.xml:29:82
>> >>> > > >> >>> ....
>> >>> > > >> >>>
>> >>> > > >> >>> Thanks,
>> >>> > > >> >>>  - Eric
>> >>> > > >> >>>
>> >>> > > >> >>>
>> >>> > > >> >>>
>> >>> > > >> >>>
>> >>> > > >> >>> On Thu, Oct 15, 2009 at 5:59 PM, Musachy Barroso <
>> >>> musachy@gmail.com
>> >>> > > >
>> >>> > > >> wrote:
>> >>> > > >> >>>
>> >>> > > >> >>>> just for kicks, put the embeddedjsp plugin in the shared
>> dir,
>> >>> and
>> >>> > > see
>> >>> > > >> >>>> if it works.
>> >>> > > >> >>>>
>> >>> > > >> >>>> On Thu, Oct 15, 2009 at 7:58 AM, Musachy Barroso <
>> >>> > > musachy@gmail.com>
>> >>> > > >> >>>> wrote:
>> >>> > > >> >>>> > yeah that is kind of strange. do you have any of the
>> struts,
>> >>> or
>> >>> > > your
>> >>> > > >> >>>> > jars in the tomcat shared dir? even in that case it
>> should
>> >>> not
>> >>> > > >> matter.
>> >>> > > >> >>>> >
>> >>> > > >> >>>> > musachy
>> >>> > > >> >>>> >
>> >>> > > >> >>>> > On Thu, Oct 15, 2009 at 1:10 AM, Obinna <
>> obinna@gmail.com>
>> >>> > > wrote:
>> >>> > > >> >>>> >> There's another classloading issue with the embeddedJsp
>> >>> plugin.
>> >>> > > >> >>>> >>
>> >>> > > >> >>>> >> When deploying multiple webapps on the same tomcat
>> server,
>> >>> both
>> >>> > > of
>> >>> > > >> which
>> >>> > > >> >>>> >> utilize the embeddedJsp plugin. After loading embeddJsp
>> >>> pages in
>> >>> > > on
>> >>> > > >> web
>> >>> > > >> >>>> app,
>> >>> > > >> >>>> >> attempting to load any embeddedJsp pages in the second
>> >>> webapp
>> >>> > > >> throws the
>> >>> > > >> >>>> >> following exception:
>> >>> > > >> >>>> >>
>> >>> > > >> >>>> >> java.lang.ClassCastException:
>> >>> > > >> >>>> >>
>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl
>> >>> > > cannot
>> >>> > > >> be
>> >>> > > >> >>>> cast
>> >>> > > >> >>>> >> to
>> >>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl
>> >>> > > >> >>>> >>
>> >>> > > >> >>>> >>
>> >>> > > >> >>>>
>> >>> > > >>
>> >>> > >
>> >>>
>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl.getInstance(JspApplicationContextImpl.java:76)
>> >>> > > >> >>>> >>
>> >>> > > >> >>>> >>
>> >>> > > >> >>>>
>> >>> > > >>
>> >>> > >
>> >>>
>> org.apache.struts2.jasper.runtime.JspFactoryImpl.getJspApplicationContext(JspFactoryImpl.java:200)
>> >>> > > >> >>>> >>
>> >>> > > >> >>>> >>
>> >>> > > >> >>>>
>> >>> > > >>
>> >>> > >
>> >>>
>> org.apache.struts2.jsp.com.test.service.reporting.jsp.alert_jsp._jspInit(alert_jsp.java
>> >>> > > >> >>>> >> from :31)
>> >>> > > >> >>>> >>
>> >>> > > >> >>>>
>> >>> > > >>
>> >>>
>>  org.apache.struts2.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52)
>> >>> > > >> >>>> >>
>> >>> > >  org.apache.struts2.JSPLoader.createServlet(JSPLoader.java:112)
>> >>> > > >> >>>> >>    org.apache.struts2.JSPLoader.load(JSPLoader.java:90)
>> >>> > > >> >>>> >>
>> >>>  org.apache.struts2.ServletCache$1.call(ServletCache.java:46)
>> >>> > > >> >>>> >>
>> >>>  org.apache.struts2.ServletCache$1.call(ServletCache.java:44)
>> >>> > > >> >>>> >>
>> >>> > > >>
>>  java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>> >>> > > >> >>>> >>
>>  java.util.concurrent.FutureTask.run(FutureTask.java:138)
>> >>> > > >> >>>> >>
>>  org.apache.struts2.ServletCache.get(ServletCache.java:53)
>> >>> > > >> >>>> >>
>>  org.apache.struts2.JSPRuntime.handle(JSPRuntime.java:63)
>> >>> > > >> >>>> >>
>>  org.apache.struts2.JSPRuntime.handle(JSPRuntime.java:45)
>> >>> > > >> >>>> >>
>> >>> > > >> >>>> >>
>> >>> > > >> >>>>
>> >>> > > >>
>> >>> > >
>> >>>
>> org.apache.struts2.EmbeddedJSPResult.doExecute(EmbeddedJSPResult.java:32)
>> >>> > > >> >>>> >>
>> >>> > > >> >>>> >>
>> >>> > > >> >>>>
>> >>> > > >>
>> >>> > >
>> >>>
>> org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186).
>> >>> > > >> >>>> >>
>> >>> > > >> >>>> >> which is strange as i would have expected the
>> >>> > > >> JspApplicationContextImpl
>> >>> > > >> >>>> to
>> >>> > > >> >>>> >> be loaded and isolated by each web-application class
>> loader.
>> >>> > > >> >>>> >>
>> >>> > > >> >>>> >> Also, subsequent attempts to load non-embedded jsp page
>> then
>> >>> > > throw:
>> >>> > > >> >>>> >>
>> >>> > > >> >>>> >>
>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl
>> >>> > > cannot
>> >>> > > >> be
>> >>> > > >> >>>> cast
>> >>> > > >> >>>> >> to
>> >>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl
>> >>> > > >> >>>> >> at
>> >>> > > >> >>>> >>
>> >>> > > >> >>>>
>> >>> > > >>
>> >>> > >
>> >>>
>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl.getInstance(JspApplicationContextImpl.java:76)
>> >>> > > >> >>>> >>    at
>> >>> > > >> >>>> >>
>> >>> > > >> >>>>
>> >>> > > >>
>> >>> > >
>> >>>
>> org.apache.struts2.jasper.runtime.JspFactoryImpl.getJspApplicationContext(JspFactoryImpl.java:200)
>> >>> > > >> >>>> >>
>> >>> > > >> >>>> >>
>> >>> > > >> >>>> >> - Eric
>> >>> > > >> >>>> >>
>> >>> > > >> >>>> >>
>> >>> > > >> >>>> >>
>> >>> > > >> >>>> >>
>> >>> > > >> >>>> >> On Mon, Sep 28, 2009 at 11:05 AM, Obinna <
>> obinna@gmail.com>
>> >>> > > wrote:
>> >>> > > >> >>>> >>
>> >>> > > >> >>>> >>> Tested and work well. Couldn't resolve
>> >>> > > struts2-core.2.1.9-Snapshot
>> >>> > > >> >>>> maven
>> >>> > > >> >>>> >>> dependency so I used 2.1.8 though.
>> >>> > > >> >>>> >>> Closed jira ticket.
>> >>> > > >> >>>> >>> Thanks again!!  I hope everyone realizes how
>> >>> > > significant/powerful
>> >>> > > >> a
>> >>> > > >> >>>> plugin
>> >>> > > >> >>>> >>> this is.
>> >>> > > >> >>>> >>>
>> >>> > > >> >>>> >>> - Eric
>> >>> > > >> >>>> >>>
>> >>> > > >> >>>> >>>
>> >>> > > >> >>>> >>>
>> >>> > > >> >>>> >>> On Mon, Sep 28, 2009 at 9:07 AM, Musachy Barroso <
>> >>> > > >> musachy@gmail.com
>> >>> > > >> >>>> >wrote:
>> >>> > > >> >>>> >>>
>> >>> > > >> >>>> >>>> I should have done it with jasper 6 since the
>> beginning,
>> >>> but
>> >>> > > it
>> >>> > > >> seemed
>> >>> > > >> >>>> >>>> more difficult and my laziness took the best of me :)
>> >>> > > >> >>>> >>>>
>> >>> > > >> >>>> >>>> musachy
>> >>> > > >> >>>> >>>>
>> >>> > > >> >>>> >>>> On Sun, Sep 27, 2009 at 10:12 PM, Obinna <
>> >>> obinna@gmail.com>
>> >>> > > >> wrote:
>> >>> > > >> >>>> >>>> > Great!. Musachy, thanks a million for doing this so
>> >>> quickly.
>> >>> > > >> I'll
>> >>> > > >> >>>> give
>> >>> > > >> >>>> >>>> it a
>> >>> > > >> >>>> >>>> > test anon
>> >>> > > >> >>>> >>>> >
>> >>> > > >> >>>> >>>> >
>> >>> > > >> >>>> >>>> > On Mon, Sep 28, 2009 at 6:18 AM, Martin Gainty <
>> >>> > > >> mgainty@hotmail.com
>> >>> > > >> >>>> >
>> >>> > > >> >>>> >>>> wrote:
>> >>> > > >> >>>> >>>> >
>> >>> > > >> >>>> >>>> >>
>> >>> > > >> >>>> >>>> >> thanks for the headsup.. 2.1.8 builds now..
>> >>> > > >> >>>> >>>> >> I had wrong version of commons-collections
>> ListUtils
>> >>> not
>> >>> > > >> having
>> >>> > > >> >>>> >>>> >> isEqualList(collection,collection)
>> >>> > > >> >>>> >>>> >>        <dependency>
>> >>> > > >> >>>> >>>> >>
>> >>> > > >>  <groupId>org.apache.commons.collections</groupId>
>> >>> > > >> >>>> >>>> >>
>> >>>  <artifactId>commons-collections</artifactId>
>> >>> > > >> >>>> >>>> >>                <version>3.2.1</version>
>> >>> > > >> >>>> >>>> >>        </dependency>
>> >>> > > >> >>>> >>>> >> pulls correct version
>> >>> > > >> >>>> >>>> >>
>> >>> > > >> >>>> >>>> >> seeing some failures in surefire..(too many to
>> count on
>> >>> one
>> >>> > > >> hand
>> >>> > > >> >>>> will
>> >>> > > >> >>>> >>>> take
>> >>> > > >> >>>> >>>> >> a look tommorrow)
>> >>> > > >> >>>> >>>> >> thanks,
>> >>> > > >> >>>> >>>> >> Martin Gainty
>> >>> > > >> >>>> >>>> >> ______________________________________________
>> >>> > > >> >>>> >>>> >> Standard Caveats apply
>> >>> > > >> >>>> >>>> >>
>> >>> > > >> >>>> >>>> >>
>> >>> > > >> >>>> >>>> >>
>> >>> > > >> >>>> >>>> >>
>> >>> > > >> >>>> >>>> >> > Date: Sun, 27 Sep 2009 19:00:12 -0700
>> >>> > > >> >>>> >>>> >> > Subject: Re: embeddedJsp plugin causing jsp
>> >>> compilation
>> >>> > > >> issues
>> >>> > > >> >>>> >>>> >> > From: musachy@gmail.com
>> >>> > > >> >>>> >>>> >> > To: dev@struts.apache.org
>> >>> > > >> >>>> >>>> >> >
>> >>> > > >> >>>> >>>> >> > a'right. The code is in trunk. To use the plugin
>> with
>> >>> > > >> tomcat,
>> >>> > > >> >>>> just
>> >>> > > >> >>>> >>>> >> > build it and deploy it as usual. It works with
>> Jetty
>> >>> 7+,
>> >>> > > >> which
>> >>> > > >> >>>> needs
>> >>> > > >> >>>> >>>> >> > the tomcat deps added to the application, adding
>> this
>> >>> to
>> >>> > > >> your pom
>> >>> > > >> >>>> >>>> will
>> >>> > > >> >>>> >>>> >> > take care of it:
>> >>> > > >> >>>> >>>> >> >
>> >>> > > >> >>>> >>>> >> > <dependency>
>> >>> > > >> >>>> >>>> >> >        <groupId>org.apache.tomcat</groupId>
>> >>> > > >> >>>> >>>> >> >        <artifactId>jasper</artifactId>
>> >>> > > >> >>>> >>>> >> >        <version>6.0.18</version>
>> >>> > > >> >>>> >>>> >> > </dependency>
>> >>> > > >> >>>> >>>> >> >
>> >>> > > >> >>>> >>>> >> > let me know if it works.
>> >>> > > >> >>>> >>>> >> >
>> >>> > > >> >>>> >>>> >> > musachy
>> >>> > > >> >>>> >>>> >> >
>> >>> > > >> >>>> >>>> >> > On Sun, Sep 27, 2009 at 6:34 PM, Musachy Barroso
>> <
>> >>> > > >> >>>> musachy@gmail.com>
>> >>> > > >> >>>> >>>> >> wrote:
>> >>> > > >> >>>> >>>> >> > > it works on tomcat but now it breaks in
>> jetty...oh
>> >>> joy.
>> >>> > > >> >>>> >>>> >> > >
>> >>> > > >> >>>> >>>> >> > > On Sun, Sep 27, 2009 at 2:35 PM, Musachy
>> Barroso <
>> >>> > > >> >>>> >>>> musachy@gmail.com>
>> >>> > > >> >>>> >>>> >> wrote:
>> >>> > > >> >>>> >>>> >> > >> ok I got jasper 6 working. I will do some
>> more
>> >>> testing
>> >>> > > >> (at
>> >>> > > >> >>>> least
>> >>> > > >> >>>> >>>> the
>> >>> > > >> >>>> >>>> >> > >> junits run fine), commit the jasper code, and
>> then
>> >>> > > commit
>> >>> > > >> my
>> >>> > > >> >>>> >>>> changes.
>> >>> > > >> >>>> >>>> >> > >> (later on)
>> >>> > > >> >>>> >>>> >> > >>
>> >>> > > >> >>>> >>>> >> > >> musachy
>> >>> > > >> >>>> >>>> >> > >>
>> >>> > > >> >>>> >>>> >> > >> On Sun, Sep 27, 2009 at 12:56 PM, Musachy
>> Barroso
>> >>> <
>> >>> > > >> >>>> >>>> musachy@gmail.com>
>> >>> > > >> >>>> >>>> >> wrote:
>> >>> > > >> >>>> >>>> >> > >>> yeah that would work if I could use it as a
>> >>> library,
>> >>> > > but
>> >>> > > >> >>>> jasper
>> >>> > > >> >>>> >>>> is
>> >>> > > >> >>>> >>>> >> not
>> >>> > > >> >>>> >>>> >> > >>> written with that in mind. I had to change a
>> >>> fairly
>> >>> > > >> amount of
>> >>> > > >> >>>> >>>> private
>> >>> > > >> >>>> >>>> >> > >>> code to get it to work.
>> >>> > > >> >>>> >>>> >> > >>>
>> >>> > > >> >>>> >>>> >> > >>> musachy
>> >>> > > >> >>>> >>>> >> > >>>
>> >>> > > >> >>>> >>>> >> > >>> On Sun, Sep 27, 2009 at 12:50 PM, Antonio
>> >>> Petrelli
>> >>> > > >> >>>> >>>> >> > >>> <an...@gmail.com> wrote:
>> >>> > > >> >>>> >>>> >> > >>>> 2009/9/27 Musachy Barroso <
>> musachy@gmail.com>:
>> >>> > > >> >>>> >>>> >> > >>>>> It is a missmatch between the jsp-apis.
>> The
>> >>> > > internal
>> >>> > > >> jasper
>> >>> > > >> >>>> >>>> >> implements
>> >>> > > >> >>>> >>>> >> > >>>>> 2.0, while tomcat 6/jasper 6 implement
>> 2.1, and
>> >>> in
>> >>> > > 2.1
>> >>> > > >> >>>> there a
>> >>> > > >> >>>> >>>> new
>> >>> > > >> >>>> >>>> >> > >>>>> method called. It is not looking good.
>> >>> > > >> >>>> >>>> >> > >>>>
>> >>> > > >> >>>> >>>> >> > >>>> You might wish to use JarJar to repackage,
>> to
>> >>> avoid
>> >>> > > >> >>>> conflicts
>> >>> > > >> >>>> >>>> like
>> >>> > > >> >>>> >>>> >> > >>>> this. Lots of people use them to avoid
>> >>> dependencies,
>> >>> > > >> like
>> >>> > > >> >>>> >>>> >> > >>>> commons-logging.
>> >>> > > >> >>>> >>>> >> > >>>> See:
>> >>> > > >> >>>> >>>> >> > >>>>
>> http://docs.atlassian.com/jarjar-maven-plugin/
>> >>> > > >> >>>> >>>> >> > >>>>
>> >>> > > >> >>>> >>>> >> > >>>> HTH
>> >>> > > >> >>>> >>>> >> > >>>> Antonio
>> >>> > > >> >>>> >>>> >> > >>>>
>> >>> > > >> >>>> >>>> >> > >>>>
>> >>> > > >> >>>> >>>> >>
>> >>> > > >> >>>>
>> >>> > >
>> ---------------------------------------------------------------------
>> >>> > > >> >>>> >>>> >> > >>>> To unsubscribe, e-mail:
>> >>> > > >> dev-unsubscribe@struts.apache.org
>> >>> > > >> >>>> >>>> >> > >>>> For additional commands, e-mail:
>> >>> > > >> dev-help@struts.apache.org
>> >>> > > >> >>>> >>>> >> > >>>>
>> >>> > > >> >>>> >>>> >> > >>>>
>> >>> > > >> >>>> >>>> >> > >>>
>> >>> > > >> >>>> >>>> >> > >>>
>> >>> > > >> >>>> >>>> >> > >>>
>> >>> > > >> >>>> >>>> >> > >>> --
>> >>> > > >> >>>> >>>> >> > >>> "Hey you! Would you help me to carry the
>> stone?"
>> >>> Pink
>> >>> > > >> Floyd
>> >>> > > >> >>>> >>>> >> > >>>
>> >>> > > >> >>>> >>>> >> > >>
>> >>> > > >> >>>> >>>> >> > >>
>> >>> > > >> >>>> >>>> >> > >>
>> >>> > > >> >>>> >>>> >> > >> --
>> >>> > > >> >>>> >>>> >> > >> "Hey you! Would you help me to carry the
>> stone?"
>> >>> Pink
>> >>> > > >> Floyd
>> >>> > > >> >>>> >>>> >> > >>
>> >>> > > >> >>>> >>>> >> > >
>> >>> > > >> >>>> >>>> >> > >
>> >>> > > >> >>>> >>>> >> > >
>> >>> > > >> >>>> >>>> >> > > --
>> >>> > > >> >>>> >>>> >> > > "Hey you! Would you help me to carry the
>> stone?"
>> >>> Pink
>> >>> > > >> Floyd
>> >>> > > >> >>>> >>>> >> > >
>> >>> > > >> >>>> >>>> >> >
>> >>> > > >> >>>> >>>> >> >
>> >>> > > >> >>>> >>>> >> >
>> >>> > > >> >>>> >>>> >> > --
>> >>> > > >> >>>> >>>> >> > "Hey you! Would you help me to carry the stone?"
>> Pink
>> >>> > > Floyd
>> >>> > > >> >>>> >>>> >> >
>> >>> > > >> >>>> >>>> >> >
>> >>> > > >> >>>>
>> >>> > >
>> ---------------------------------------------------------------------
>> >>> > > >> >>>> >>>> >> > To unsubscribe, e-mail:
>> >>> > > dev-unsubscribe@struts.apache.org
>> >>> > > >> >>>> >>>> >> > For additional commands, e-mail:
>> >>> > > dev-help@struts.apache.org
>> >>> > > >> >>>> >>>> >> >
>> >>> > > >> >>>> >>>> >>
>> >>> > > >> >>>> >>>> >>
>> >>> > > >>
>> _________________________________________________________________
>> >>> > > >> >>>> >>>> >> Lauren found her dream laptop. Find the PC that’s
>> right
>> >>> for
>> >>> > > >> you.
>> >>> > > >> >>>> >>>> >>
>> >>> > > >> http://www.microsoft.com/windows/choosepc/?ocid=ftp_val_wl_290
>> >>> > > >> >>>> >>>> >
>> >>> > > >> >>>> >>>>
>> >>> > > >> >>>> >>>>
>> >>> > > >> >>>> >>>>
>> >>> > > >> >>>> >>>> --
>> >>> > > >> >>>> >>>> "Hey you! Would you help me to carry the stone?" Pink
>> >>> Floyd
>> >>> > > >> >>>> >>>>
>> >>> > > >> >>>> >>>>
>> >>> > > >>
>> >>> ---------------------------------------------------------------------
>> >>> > > >> >>>> >>>> To unsubscribe, e-mail:
>> dev-unsubscribe@struts.apache.org
>> >>> > > >> >>>> >>>> For additional commands, e-mail:
>> >>> dev-help@struts.apache.org
>> >>> > > >> >>>> >>>>
>> >>> > > >> >>>> >>>>
>> >>> > > >> >>>> >>>
>> >>> > > >> >>>> >>
>> >>> > > >> >>>> >
>> >>> > > >> >>>> >
>> >>> > > >> >>>> >
>> >>> > > >> >>>> > --
>> >>> > > >> >>>> > "Hey you! Would you help me to carry the stone?" Pink
>> Floyd
>> >>> > > >> >>>> >
>> >>> > > >> >>>>
>> >>> > > >> >>>>
>> >>> > > >> >>>>
>> >>> > > >> >>>> --
>> >>> > > >> >>>> "Hey you! Would you help me to carry the stone?" Pink
>> Floyd
>> >>> > > >> >>>>
>> >>> > > >> >>>>
>> >>> > >
>> ---------------------------------------------------------------------
>> >>> > > >> >>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>> >>> > > >> >>>> For additional commands, e-mail:
>> dev-help@struts.apache.org
>> >>> > > >> >>>>
>> >>> > > >> >>>>
>> >>> > > >> >>>
>> >>> > > >> >>
>> >>> > > >> >>
>> >>> > > >> >>
>> >>> > > >> >> --
>> >>> > > >> >> "Hey you! Would you help me to carry the stone?" Pink Floyd
>> >>> > > >> >>
>> >>> > > >> >
>> >>> > > >> >
>> >>> > > >> >
>> >>> > > >> > --
>> >>> > > >> > "Hey you! Would you help me to carry the stone?" Pink Floyd
>> >>> > > >> >
>> >>> > > >>
>> >>> > > >>
>> >>> > > >>
>> >>> > > >> --
>> >>> > > >> "Hey you! Would you help me to carry the stone?" Pink Floyd
>> >>> > > >>
>> >>> > > >>
>> >>> ---------------------------------------------------------------------
>> >>> > > >> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>> >>> > > >> For additional commands, e-mail: dev-help@struts.apache.org
>> >>> > > >>
>> >>> > > >>
>> >>> > > >
>> >>> > >
>> >>> > >
>> >>> > >
>> >>> > > --
>> >>> > > "Hey you! Would you help me to carry the stone?" Pink Floyd
>> >>> > >
>> >>> > >
>> ---------------------------------------------------------------------
>> >>> > > To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>> >>> > > For additional commands, e-mail: dev-help@struts.apache.org
>> >>> > >
>> >>> > >
>> >>>
>> >>> _________________________________________________________________
>> >>> Hotmail: Free, trusted and rich email service.
>> >>> http://clk.atdmt.com/GBL/go/171222984/direct/01/
>> >>>
>> >>
>> >
>> >
>> >
>> > --
>> > "Hey you! Would you help me to carry the stone?" Pink Floyd
>> >
>>
>>
>>
>> --
>> "Hey you! Would you help me to carry the stone?" Pink Floyd
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>> For additional commands, e-mail: dev-help@struts.apache.org
>>
>>
>

Re: embeddedJsp plugin causing jsp compilation issues

Posted by Musachy Barroso <mu...@gmail.com>.
you would be surprised :)

On Tue, Nov 10, 2009 at 1:54 PM, Obinna <ob...@gmail.com> wrote:
> Yep. Works great on my cases now. Thanks!
> I suppose this is general fix that should prevent any more unforseen
> conflicts..
>
> -eric
>
>
> On Tue, Nov 10, 2009 at 10:52 PM, Musachy Barroso <mu...@gmail.com> wrote:
>
>> I commited a fix (aka hack), and it seems to work in both tomcat and
>> jetty. basically, in JspFactory if the servlet passed as a param is
>> not one that the embedded jsp plugin created, then I delegate the call
>> to jasper's JspFactory. Let me know if it works.
>>
>> musachy
>>
>> On Tue, Nov 10, 2009 at 8:24 AM, Musachy Barroso <mu...@gmail.com>
>> wrote:
>> > thanks Eric, I will take a look tonight.
>> >
>> > musachy
>> >
>> > On Tue, Nov 10, 2009 at 7:13 AM, Obinna <ob...@gmail.com> wrote:
>> >> Hi Musachy,
>> >>
>> >> There's another classloading conflict issue with the embedded jsp
>> plugin.
>> >> This one has to do with the ELContextImpl.
>> >>
>> >> Loading an embedded jsp page that uses EL and then trying to load a
>> normal
>> >> page that uses EL throws:
>> >>
>> >>     java.lang.ClassCastException:
>> >> org.apache.struts2.jasper.el.ELContextImpl cannot be cast to
>> >> org.apache.jasper.el.ELContextImpl
>> >>        at
>> >>
>> org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:920)
>> >>
>> >> Again, the embedded jsp page seems to cache it's version of the
>> >> ELContextImpl ( ion PageContextImpl.proprietaryEvaluate) which tomcat
>> then
>> >> tries to cast to it's own version.
>> >>
>> >> It looks like I could simply stop PageContextImpl from storing it's
>> >> generated EL context by modifying the getELContext() method, but I'm
>> >> guessing on a page/application with a lot of expressions that could hurt
>> >> quite a bit.
>> >>
>> >> - Eric
>> >>
>> >>
>> >>
>> >> On Tue, Oct 20, 2009 at 9:46 PM, Obinna <ob...@gmail.com> wrote:
>> >>
>> >>> Tested it and it works for me!
>> >>> Great! Thanks a million.
>> >>>
>> >>>  - Eric
>> >>>
>> >>> On Tue, Oct 20, 2009 at 9:13 PM, Musachy Barroso <musachy@gmail.com
>> >wrote:
>> >>>
>> >>>> small fix to JspApplicationContextImpl seems to make it work for
>> >>>> me(add the hash of the classloader to the key), give it a try and let
>> >>>> me know (update from trunk)
>> >>>>
>> >>>> musachy
>> >>>>
>> >>>> On Tue, Oct 20, 2009 at 11:00 AM, Musachy Barroso <mu...@gmail.com>
>> >>>> wrote:
>> >>>> > ok I was able to reproduce it, working on it (looks hairy)
>> >>>> >
>> >>>> > musachy
>> >>>> >
>> >>>> > On Tue, Oct 20, 2009 at 7:01 AM, Obinna <ob...@gmail.com> wrote:
>> >>>> >> Ok, So I've been able to inspect the classloaders and I think I see
>> >>>> what's
>> >>>> >> going wrong (though I'm not sure how best to fix it).
>> >>>> >>
>> >>>> >> Given my two webapps, AppA and AppB running simulatenously in
>> tomcat. I
>> >>>> do
>> >>>> >> the following:
>> >>>> >>
>> >>>> >>  1. Load AppA
>> >>>> >>     a. Load normal jsp page (breakpoint not caught -> still using
>> >>>> tomcat
>> >>>> >> default JspFactory)
>> >>>> >>     b. Load an embeddedJSP page
>> >>>> >>          i.  Breakpoint caught at static initializer in
>> >>>> JSPRuntimeContext
>> >>>> >> (line 96)   {calling JspFactory.setDefaultFactory(factory); to
>> >>>> initialize
>> >>>> >> JspFactory implementation}
>> >>>> >>               - JSPFactory classloader is StandardClassLoader
>> (good)
>> >>>> >>               - JspFactoryImpl classloader is AppA
>> WebAppClassloader
>> >>>> (good)
>> >>>> >>          ii. Breakpoint caught at JSPApplicationContextImpl (line
>> 79)
>> >>>> >> {calling impl = new JspApplicationContextImpl() to initialize new
>> >>>> servlet
>> >>>> >> context}
>> >>>> >>              - JspFactoryImpl classloader is AppA WebAppClassloader
>> >>>> (good)
>> >>>> >>              - JSPApplicationContextImpl classloader is AppA
>> >>>> >> WebAppClassloader (good)
>> >>>> >>
>> >>>> >> 2. Load AppB
>> >>>> >>     a. Load normal jsp page
>> >>>> >>             i. Breakpoint caught at JSPApplicationContextImpl (line
>> 79)
>> >>>> >> {calling impl = new JspApplicationContextImpl() to initialize new
>> >>>> servlet
>> >>>> >> context}. This means that is is still using the JspFactoryImpl set
>> in
>> >>>> step
>> >>>> >> 1.b.i above
>> >>>> >>              - JspFactoryImpl classloader is AppA WebAppClassloader
>> >>>> >> (bad!!!  using class loaded in AppA classloader)   !!!!!
>> >>>> >>              - JSPApplicationContextImpl classloader is AppA
>> >>>> >> WebAppClassloader (bad!!!  using class loaded in AppA classloader)
>> >>>> !!!!!
>> >>>> >>     b. Load embedded jsp page
>> >>>> >>             JSPApplicationContextImpl (line 76) tries to call {
>> >>>> >> JspApplicationContextImpl impl = (JspApplicationContextImpl)
>> >>>> >> context.getAttribute(KEY); }   and throws ClassCastException
>> because
>> >>>> impl
>> >>>> >> class returned by context.getAttribute(KEY) was loaded by
>> >>>> >> AppAWebAppClassLoader but current class (JspApplicationContextImpl)
>> >>>> class
>> >>>> >> loader is now AppB WebAppClassLoader.
>> >>>> >>
>> >>>> >> It is as I suspected in my last email. I don't think that the
>> >>>> JspFactoryImpl
>> >>>> >> class set by JspFactory.setDefaultFactory(factory) when AppA was
>> loaded
>> >>>> >> should be the one used by AppB. Somehow the JspFactoryImpl used
>> should
>> >>>> >> probably be isolated by web application and if possible should only
>> be
>> >>>> used
>> >>>> >> by the embeddedJSP compiler (not used globally for normal jsps as
>> well)
>> >>>> >>
>> >>>> >>  - Eric
>> >>>> >>
>> >>>> >>
>> >>>> >>
>> >>>> >> On Tue, Oct 20, 2009 at 2:41 PM, Martin Gainty <
>> mgainty@hotmail.com>
>> >>>> wrote:
>> >>>> >>
>> >>>> >>>
>> >>>> >>> Eric-
>> >>>> >>> are you able to determine which classloader JspApplicationContext
>> is
>> >>>> using
>> >>>> >>> to load JspApplicationContextImpl class?
>> >>>> >>>         System.out.println("The class of " +
>> JspApplicationContextImpl
>> >>>> +
>> >>>> >>>                            " is " +
>> >>>> >>> JspApplicationContextImpl.getClass().getName());
>> >>>> >>>         System.out.println("The classLoader of " +
>> >>>> >>> JspApplicationContextImpl +
>> >>>> >>>                            " is " +
>> >>>> >>> JspApplicationContextImpl.getClass().getClassloader());
>> >>>> >>>
>> >>>> >>> were you able to verify the Jsp configuration entries in
>> >>>> >>> $CATALINA_HOME/conf
>> >>>> >>>     <servlet>
>> >>>> >>>        <servlet-name>jsp</servlet-name>
>> >>>> >>>
>> >>>> <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
>> >>>> >>>        <load-on-startup>3</load-on-startup>
>> >>>> >>>    </servlet>
>> >>>> >>> what is meant by term 'embedded' ..can i assume you are
>> implementing
>> >>>> APR
>> >>>> >>> (apache portable runtime)?
>> >>>> >>>
>> >>>> >>> thanks for taking the time to look at this,
>> >>>> >>> Martin Gainty
>> >>>> >>> ______________________________________________
>> >>>> >>> Verzicht und Vertraulichkeitanmerkung/Note de déni et de
>> >>>> confidentialité
>> >>>> >>>
>> >>>> >>> Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene
>> >>>> >>> Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede
>> >>>> unbefugte
>> >>>> >>> Weiterleitung oder Fertigung einer Kopie ist unzulaessig. Diese
>> >>>> Nachricht
>> >>>> >>> dient lediglich dem Austausch von Informationen und entfaltet
>> keine
>> >>>> >>> rechtliche Bindungswirkung. Aufgrund der leichten
>> Manipulierbarkeit
>> >>>> von
>> >>>> >>> E-Mails koennen wir keine Haftung fuer den Inhalt uebernehmen.
>> >>>> >>> Ce message est confidentiel et peut être privilégié. Si vous
>> n'êtes
>> >>>> pas le
>> >>>> >>> destinataire prévu, nous te demandons avec bonté que pour
>> satisfaire
>> >>>> >>> informez l'expéditeur. N'importe quelle diffusion non autorisée ou
>> la
>> >>>> copie
>> >>>> >>> de ceci est interdite. Ce message sert à l'information seulement
>> et
>> >>>> n'aura
>> >>>> >>> pas n'importe quel effet légalement obligatoire. Étant donné que
>> les
>> >>>> email
>> >>>> >>> peuvent facilement être sujets à la manipulation, nous ne pouvons
>> >>>> accepter
>> >>>> >>> aucune responsabilité pour le contenu fourni.
>> >>>> >>>
>> >>>> >>>
>> >>>> >>>
>> >>>> >>>
>> >>>> >>> > Date: Tue, 20 Oct 2009 14:14:55 +0300
>> >>>> >>> > Subject: Re: embeddedJsp plugin causing jsp compilation issues
>> >>>> >>> > From: obinna@gmail.com
>> >>>> >>> > To: dev@struts.apache.org
>> >>>> >>> >
>> >>>> >>> > An update...
>> >>>> >>> >
>> >>>> >>> > I've tried setting a breakpoint in the
>> >>>> >>> > JspApplicationContextImpl.getInstance() method and the
>> >>>> >>> > JspFactoryImpl().getJspApplicationContext() methods but for some
>> >>>> reason
>> >>>> >>> > cannot inspect the variable at that point to figure out which
>> >>>> classloader
>> >>>> >>> > are being called when.
>> >>>> >>> >
>> >>>> >>> > What is clear is that once an embeddedJsp is loaded, the default
>> >>>> >>> JspFactory
>> >>>> >>> > for ALL jsp pages (even non-embedded ones) becomes the
>> >>>> >>> > org.apache.struts2.jasper.runtime.JspFactoryImpl (even for a
>> >>>> separate
>> >>>> >>> > web-app!) because loading subsequent non-embedded pages for the
>> >>>> first
>> >>>> >>> time
>> >>>> >>> > (in either web-app) still hits and break in the
>> >>>> >>> > JspApplicationContextImpl.getInstance() method. It seems like
>> using
>> >>>> the
>> >>>> >>> > embeddedJsp calls JspFactory().setDefaultFactory() or something
>> and
>> >>>> that
>> >>>> >>> > this has a system-wide scope.
>> >>>> >>> >
>> >>>> >>> > I don't suppose that this would be a problem if it wasn't for
>> some
>> >>>> >>> > classloader mix-up which means that when I then try to access an
>> >>>> >>> embeddedJsp
>> >>>> >>> > page in the second web-app, in the
>> >>>> >>> JspApplicationContextImpl.getInstance()
>> >>>> >>> > method it finds the JspApplicationContextImpl instance that was
>> set
>> >>>> >>> during
>> >>>> >>> > the loading of some initial pages (such as login page) in this
>> >>>> second app
>> >>>> >>> > but it seems that that must have been set by a different
>> classloader
>> >>>> >>> because
>> >>>> >>> > the class cast fails when it tries to cast that instance (on the
>> >>>> line
>> >>>> >>> > JspApplicationContextImpl impl = (JspApplicationContextImpl)
>> >>>> >>> > context.getAttribute(KEY)).
>> >>>> >>> >
>> >>>> >>> > I will continue to try to figure out how to inspect the
>> variables
>> >>>> (and
>> >>>> >>> see
>> >>>> >>> > the classloaders) in my IDE...
>> >>>> >>> >
>> >>>> >>> > - Eric
>> >>>> >>> >
>> >>>> >>> >
>> >>>> >>> >
>> >>>> >>> > On Sat, Oct 17, 2009 at 9:12 PM, Musachy Barroso <
>> musachy@gmail.com
>> >>>> >
>> >>>> >>> wrote:
>> >>>> >>> >
>> >>>> >>> > > nothing so obvious, JspApplicationContextImpl is obviously
>> getting
>> >>>> >>> > > loaded by different classloaders, but I am out of ideas, I
>> think
>> >>>> you
>> >>>> >>> > > can set a break point for classloading right? Try to do that
>> and
>> >>>> see
>> >>>> >>> > > if you get any insight.
>> >>>> >>> > >
>> >>>> >>> > > musachy
>> >>>> >>> > >
>> >>>> >>> > > On Sat, Oct 17, 2009 at 2:57 AM, Obinna <ob...@gmail.com>
>> wrote:
>> >>>> >>> > > > I have a ton of jars in my lib (but no el-api). The lib for
>> that
>> >>>> >>> projects
>> >>>> >>> > > > looks as follows (both projects have similar libs):
>> >>>> >>> > > >
>> >>>> >>> > > > asterisk-java-1.0.jar
>> >>>> >>> > > > cglib-nodep-2.1_3.jar
>> >>>> >>> > > > chartengineapi.jar
>> >>>> >>> > > > com.ibm.icu_4.0.1.v20090415.jar
>> >>>> >>> > > > commons-beanutils-1.7.0.jar
>> >>>> >>> > > > commons-cli-1.0.jar
>> >>>> >>> > > > commons-codec-1.3.jar
>> >>>> >>> > > > commons-collections-3.2.1.jar
>> >>>> >>> > > > commons-dbcp.jar
>> >>>> >>> > > > commons-digester-1.8.jar
>> >>>> >>> > > > commons-fileupload-1.2.1.jar
>> >>>> >>> > > > commons-httpclient-3.1.jar
>> >>>> >>> > > > commons-io-1.1.jar
>> >>>> >>> > > > commons-lang-2.4.0.jar
>> >>>> >>> > > > commons-logging.jar
>> >>>> >>> > > > commons-pool.jar
>> >>>> >>> > > > coreapi.jar
>> >>>> >>> > > > crosstabcoreapi.jar
>> >>>> >>> > > > dataadapterapi.jar
>> >>>> >>> > > > dataaggregationapi.jar
>> >>>> >>> > > > dataextraction.jar
>> >>>> >>> > > > displaytag-1.2.jar
>> >>>> >>> > > > displaytag-export-poi-1.2.jar
>> >>>> >>> > > > dteapi.jar
>> >>>> >>> > > > ecxconnect-mmp-bl.jar
>> >>>> >>> > > > emitterconfig.jar
>> >>>> >>> > > > engineapi.jar
>> >>>> >>> > > > flute.jar
>> >>>> >>> > > > *freemarker-2.3.15.jar*
>> >>>> >>> > > > gnu-hylafax-core-1.0.3.jar
>> >>>> >>> > > > gnu-hylafax-inet-ftp-1.0.3.jar
>> >>>> >>> > > > itext-1.3.jar
>> >>>> >>> > > > jasypt-1.4.1.x.jar
>> >>>> >>> > > > jaxws-spring-1.8.jar
>> >>>> >>> > > > jep-3.3.0-trial.jar
>> >>>> >>> > > > joda-time-1.6.jar
>> >>>> >>> > > > js.jar
>> >>>> >>> > > > json.jar
>> >>>> >>> > > > jsonplugin-0.33.jar
>> >>>> >>> > > > jstl.jar
>> >>>> >>> > > > junit-4.4.jar
>> >>>> >>> > > > log4j-1.2.8.jar
>> >>>> >>> > > > mail-1.4.2.jar
>> >>>> >>> > > > mmpdemo-bl.jar
>> >>>> >>> > > > modelapi.jar
>> >>>> >>> > > > modelodaapi.jar
>> >>>> >>> > > > mysql-connector-java-5.0.5-bin.jar
>> >>>> >>> > > > odadesignapi.jar
>> >>>> >>> > > > *ognl-2.7.3.jar*
>> >>>> >>> > > > org.apache.commons.codec_1.3.0.v20080530-1600.jar
>> >>>> >>> > > > org.eclipse.birt.report.model_2.5.0.v20090605.jar
>> >>>> >>> > > > org.eclipse.emf.common_2.5.0.v200906080927.jar
>> >>>> >>> > > > org.eclipse.emf.ecore_2.5.0.v200906080927.jar
>> >>>> >>> > > > org.eclipse.emf.ecore.xmi_2.5.0.v200906080927.jar
>> >>>> >>> > > > org.w3c.css.sac_1.3.0.v200805290154.jar
>> >>>> >>> > > > poi-3.0.2-FINAL-20080204.jar
>> >>>> >>> > > > scriptapi.jar
>> >>>> >>> > > > spring-2.5.6.jar
>> >>>> >>> > > > spring-security-core-2.0.4.jar
>> >>>> >>> > > > spring-security-taglibs-2.0.4.jar
>> >>>> >>> > > > spring-test-2.5.6.jar
>> >>>> >>> > > > spring-webmvc-2.5.6.jar
>> >>>> >>> > > > spring-ws-1.5.2.jar
>> >>>> >>> > > > standard.jar
>> >>>> >>> > > > *struts2-core-2.1.8.jar*
>> >>>> >>> > > > *struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar
>> >>>> >>> > > > *struts2-jquery-plugin-1.0.8.jar
>> >>>> >>> > > > struts2-scope-plugin-1.0.4 (modified).jar
>> >>>> >>> > > > *struts2-spring-plugin-2.1.8.jar*
>> >>>> >>> > > > tidy.jar
>> >>>> >>> > > > trilead-ssh2-build213.jar
>> >>>> >>> > > > webservices-api.jar
>> >>>> >>> > > > webservices-rt.jar
>> >>>> >>> > > > xbean-spring-3.1.jar
>> >>>> >>> > > > *xwork-core-2.1.6.jar*
>> >>>> >>> > > >
>> >>>> >>> > > > I haven't tried testing this on another 'trimmed down'
>> project.
>> >>>> Let
>> >>>> >>> me
>> >>>> >>> > > know
>> >>>> >>> > > > if anything is glaringly obvious here, otherwise, I'll try
>> the
>> >>>> >>> > > trimming-down
>> >>>> >>> > > >
>> >>>> >>> > > >  Thanks for looking through this!
>> >>>> >>> > > > - Eric
>> >>>> >>> > > >
>> >>>> >>> > > >
>> >>>> >>> > > > On Sat, Oct 17, 2009 at 2:52 AM, Musachy Barroso <
>> >>>> musachy@gmail.com>
>> >>>> >>> > > wrote:
>> >>>> >>> > > >
>> >>>> >>> > > >> nvm. el-api.jar should not be in lib, after removing them I
>> >>>> have to
>> >>>> >>> > > >> webapps with jsp plugin working. Can you compare your jars
>> to:
>> >>>> >>> > > >>
>> >>>> >>> > > >>  commons-el-1.0.jar
>> >>>> >>> > > >>  commons-fileupload-1.2.1.jar
>> >>>> >>> > > >>  commons-io-1.3.2.jar
>> >>>> >>> > > >>  commons-logging-1.1.1.jar
>> >>>> >>> > > >>  freemarker-2.3.15.jar
>> >>>> >>> > > >>  ognl-2.7.3.jar
>> >>>> >>> > > >>  struts2-core-2.1.9-SNAPSHOT.jar
>> >>>> >>> > > >>  struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar
>> >>>> >>> > > >>  xwork-core-2.1.7-SNAPSHOT.jar
>> >>>> >>> > > >>
>> >>>> >>> > > >> and tell me the exact steps after you load the app, to
>> >>>> reproduce the
>> >>>> >>> > > error?
>> >>>> >>> > > >>
>> >>>> >>> > > >> thanks for helping me test this btw :)
>> >>>> >>> > > >> musachy
>> >>>> >>> > > >>
>> >>>> >>> > > >> On Fri, Oct 16, 2009 at 4:49 PM, Musachy Barroso <
>> >>>> musachy@gmail.com
>> >>>> >>> >
>> >>>> >>> > > >> wrote:
>> >>>> >>> > > >> > I am getting a different error:
>> >>>> >>> > > >> >
>> >>>> >>> > > >> > javax.servlet.ServletException: java.lang.LinkageError:
>> Class
>> >>>> >>> > > >> > javax/el/ExpressionFactory violates loader constraints
>> >>>> >>> > > >> >
>> >>>> >>> > >
>>  org.apache.jasper.servlet.JspServlet.service(JspServlet.java:275)
>> >>>> >>> > > >> >
>> >>>> >>>  javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>> >>>> >>> > > >> >
>> >>>> >>> > > >>
>> >>>> >>> > >
>> >>>> >>>
>> >>>>
>>  org.apache.struts2.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:154)
>> >>>> >>> > > >> >
>> >>>> >>> > > >>
>> >>>> >>> > >
>> >>>> >>>
>> >>>>
>>  org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186)
>> >>>> >>> > > >> >
>> >>>> >>> > > >>
>> >>>> >>> > >
>> >>>> >>>
>> >>>>
>>  com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:362)
>> >>>> >>> > > >> >
>> >>>> >>> > > >>
>> >>>> >>> > >
>> >>>> >>>
>> >>>>
>>  com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:266)
>> >>>> >>> > > >> >
>> >>>> >>> > > >>
>> >>>> >>> > >
>> >>>> >>>
>> >>>>
>>  com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165)
>> >>>> >>> > > >> >
>> >>>> >>> > > >> > which looks even more weird. Here are the jars I have in
>> >>>> >>> web-inf/lib:
>> >>>> >>> > > >> >
>> >>>> >>> > > >> > commons-el-1.0.jar
>> >>>> >>> > > >> > commons-fileupload-1.2.1.jar
>> >>>> >>> > > >> > commons-io-1.3.2.jar
>> >>>> >>> > > >> > commons-logging-1.1.1.jar
>> >>>> >>> > > >> > el-api-6.0.18.jar
>> >>>> >>> > > >> > freemarker-2.3.15.jar
>> >>>> >>> > > >> > ognl-2.7.3.jar
>> >>>> >>> > > >> > struts2-core-2.1.9-SNAPSHOT.jar
>> >>>> >>> > > >> > struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar
>> >>>> >>> > > >> > testjar-1.0.jar
>> >>>> >>> > > >> > xwork-core-2.1.7-SNAPSHOT.jar
>> >>>> >>> > > >> >
>> >>>> >>> > > >> > That's on a default installation of tomcat 6.0.20. Can
>> you
>> >>>> compare
>> >>>> >>> > > >> > that to your jars?
>> >>>> >>> > > >> >
>> >>>> >>> > > >> > musachy
>> >>>> >>> > > >> >
>> >>>> >>> > > >> > On Thu, Oct 15, 2009 at 8:57 AM, Musachy Barroso <
>> >>>> >>> musachy@gmail.com>
>> >>>> >>> > > >> wrote:
>> >>>> >>> > > >> >> pretty consistent :), I will try to take a look.
>> >>>> >>> > > >> >>
>> >>>> >>> > > >> >> musachy
>> >>>> >>> > > >> >>
>> >>>> >>> > > >> >> On Thu, Oct 15, 2009 at 8:23 AM, Obinna <
>> obinna@gmail.com>
>> >>>> >>> wrote:
>> >>>> >>> > > >> >>> No I don't have any unusual jars in my shared lib
>> (learnt
>> >>>> my
>> >>>> >>> lesson
>> >>>> >>> > > >> last
>> >>>> >>> > > >> >>> time :| - I have some jax-ws web-service api stuff in
>> >>>> endorsed
>> >>>> >>> but
>> >>>> >>> > > >> that's
>> >>>> >>> > > >> >>> all).
>> >>>> >>> > > >> >>>
>> >>>> >>> > > >> >>> Placing the plugin jar in the shared dir ('lib' for
>> Tomcat
>> >>>> 6)
>> >>>> >>> > > results
>> >>>> >>> > > >> in
>> >>>> >>> > > >> >>> struts not being able to find the plugin config file
>> and
>> >>>> >>> throwing
>> >>>> >>> > > the
>> >>>> >>> > > >> error:
>> >>>> >>> > > >> >>> "There is no result type defined for type
>> 'embeddedJsp'..."
>> >>>> >>> > > >> >>>
>> >>>> >>> > > >> >>> Given this, it is somewhat strange that, placing it in
>> the
>> >>>> >>> web-app
>> >>>> >>> > > libs
>> >>>> >>> > > >> *as
>> >>>> >>> > > >> >>> well as *the tomcat lib results in struts trying to
>> load
>> >>>> the
>> >>>> >>> trying
>> >>>> >>> > > to
>> >>>> >>> > > >> load
>> >>>> >>> > > >> >>> the plugin config file twice and throwing the error
>> during
>> >>>> >>> startup:
>> >>>> >>> > > >> >>>
>> >>>> >>> > > >> >>> The package name 'embeddedjsp-default' at location
>> package
>> >>>> -
>> >>>> >>> > > >> >>>
>> >>>> >>> > > >>
>> >>>> >>> > >
>> >>>> >>>
>> >>>>
>> jar:file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/wtpwebapps/test/WEB-INF/lib/struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar!/struts-plugin.xml:29:82
>> >>>> >>> > > >> >>> is already been used by another package at location
>> package
>> >>>> -
>> >>>> >>> > > >> >>>
>> >>>> >>> > > >>
>> >>>> >>> > >
>> >>>> >>>
>> >>>>
>> jar:file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/lib/struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar!/struts-plugin.xml:29:82
>> >>>> >>> > > >> >>> ....
>> >>>> >>> > > >> >>>
>> >>>> >>> > > >> >>> Thanks,
>> >>>> >>> > > >> >>>  - Eric
>> >>>> >>> > > >> >>>
>> >>>> >>> > > >> >>>
>> >>>> >>> > > >> >>>
>> >>>> >>> > > >> >>>
>> >>>> >>> > > >> >>> On Thu, Oct 15, 2009 at 5:59 PM, Musachy Barroso <
>> >>>> >>> musachy@gmail.com
>> >>>> >>> > > >
>> >>>> >>> > > >> wrote:
>> >>>> >>> > > >> >>>
>> >>>> >>> > > >> >>>> just for kicks, put the embeddedjsp plugin in the
>> shared
>> >>>> dir,
>> >>>> >>> and
>> >>>> >>> > > see
>> >>>> >>> > > >> >>>> if it works.
>> >>>> >>> > > >> >>>>
>> >>>> >>> > > >> >>>> On Thu, Oct 15, 2009 at 7:58 AM, Musachy Barroso <
>> >>>> >>> > > musachy@gmail.com>
>> >>>> >>> > > >> >>>> wrote:
>> >>>> >>> > > >> >>>> > yeah that is kind of strange. do you have any of the
>> >>>> struts,
>> >>>> >>> or
>> >>>> >>> > > your
>> >>>> >>> > > >> >>>> > jars in the tomcat shared dir? even in that case it
>> >>>> should
>> >>>> >>> not
>> >>>> >>> > > >> matter.
>> >>>> >>> > > >> >>>> >
>> >>>> >>> > > >> >>>> > musachy
>> >>>> >>> > > >> >>>> >
>> >>>> >>> > > >> >>>> > On Thu, Oct 15, 2009 at 1:10 AM, Obinna <
>> >>>> obinna@gmail.com>
>> >>>> >>> > > wrote:
>> >>>> >>> > > >> >>>> >> There's another classloading issue with the
>> embeddedJsp
>> >>>> >>> plugin.
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>> >> When deploying multiple webapps on the same tomcat
>> >>>> server,
>> >>>> >>> both
>> >>>> >>> > > of
>> >>>> >>> > > >> which
>> >>>> >>> > > >> >>>> >> utilize the embeddedJsp plugin. After loading
>> embeddJsp
>> >>>> >>> pages in
>> >>>> >>> > > on
>> >>>> >>> > > >> web
>> >>>> >>> > > >> >>>> app,
>> >>>> >>> > > >> >>>> >> attempting to load any embeddedJsp pages in the
>> second
>> >>>> >>> webapp
>> >>>> >>> > > >> throws the
>> >>>> >>> > > >> >>>> >> following exception:
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>> >> java.lang.ClassCastException:
>> >>>> >>> > > >> >>>> >>
>> >>>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl
>> >>>> >>> > > cannot
>> >>>> >>> > > >> be
>> >>>> >>> > > >> >>>> cast
>> >>>> >>> > > >> >>>> >> to
>> >>>> >>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>>
>> >>>> >>> > > >>
>> >>>> >>> > >
>> >>>> >>>
>> >>>>
>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl.getInstance(JspApplicationContextImpl.java:76)
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>>
>> >>>> >>> > > >>
>> >>>> >>> > >
>> >>>> >>>
>> >>>>
>> org.apache.struts2.jasper.runtime.JspFactoryImpl.getJspApplicationContext(JspFactoryImpl.java:200)
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>>
>> >>>> >>> > > >>
>> >>>> >>> > >
>> >>>> >>>
>> >>>>
>> org.apache.struts2.jsp.com.test.service.reporting.jsp.alert_jsp._jspInit(alert_jsp.java
>> >>>> >>> > > >> >>>> >> from :31)
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>>
>> >>>> >>> > > >>
>> >>>> >>>
>> >>>>
>>  org.apache.struts2.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52)
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > >
>>  org.apache.struts2.JSPLoader.createServlet(JSPLoader.java:112)
>> >>>> >>> > > >> >>>> >>
>>  org.apache.struts2.JSPLoader.load(JSPLoader.java:90)
>> >>>> >>> > > >> >>>> >>
>> >>>> >>>  org.apache.struts2.ServletCache$1.call(ServletCache.java:46)
>> >>>> >>> > > >> >>>> >>
>> >>>> >>>  org.apache.struts2.ServletCache$1.call(ServletCache.java:44)
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >>
>> >>>>  java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>> >>>> >>> > > >> >>>> >>
>> >>>>  java.util.concurrent.FutureTask.run(FutureTask.java:138)
>> >>>> >>> > > >> >>>> >>
>> >>>>  org.apache.struts2.ServletCache.get(ServletCache.java:53)
>> >>>> >>> > > >> >>>> >>
>> >>>>  org.apache.struts2.JSPRuntime.handle(JSPRuntime.java:63)
>> >>>> >>> > > >> >>>> >>
>> >>>>  org.apache.struts2.JSPRuntime.handle(JSPRuntime.java:45)
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>>
>> >>>> >>> > > >>
>> >>>> >>> > >
>> >>>> >>>
>> >>>>
>> org.apache.struts2.EmbeddedJSPResult.doExecute(EmbeddedJSPResult.java:32)
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>>
>> >>>> >>> > > >>
>> >>>> >>> > >
>> >>>> >>>
>> >>>>
>> org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186).
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>> >> which is strange as i would have expected the
>> >>>> >>> > > >> JspApplicationContextImpl
>> >>>> >>> > > >> >>>> to
>> >>>> >>> > > >> >>>> >> be loaded and isolated by each web-application
>> class
>> >>>> loader.
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>> >> Also, subsequent attempts to load non-embedded jsp
>> page
>> >>>> then
>> >>>> >>> > > throw:
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>> >>
>> >>>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl
>> >>>> >>> > > cannot
>> >>>> >>> > > >> be
>> >>>> >>> > > >> >>>> cast
>> >>>> >>> > > >> >>>> >> to
>> >>>> >>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl
>> >>>> >>> > > >> >>>> >> at
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>>
>> >>>> >>> > > >>
>> >>>> >>> > >
>> >>>> >>>
>> >>>>
>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl.getInstance(JspApplicationContextImpl.java:76)
>> >>>> >>> > > >> >>>> >>    at
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>>
>> >>>> >>> > > >>
>> >>>> >>> > >
>> >>>> >>>
>> >>>>
>> org.apache.struts2.jasper.runtime.JspFactoryImpl.getJspApplicationContext(JspFactoryImpl.java:200)
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>> >> - Eric
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>> >> On Mon, Sep 28, 2009 at 11:05 AM, Obinna <
>> >>>> obinna@gmail.com>
>> >>>> >>> > > wrote:
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>> >>> Tested and work well. Couldn't resolve
>> >>>> >>> > > struts2-core.2.1.9-Snapshot
>> >>>> >>> > > >> >>>> maven
>> >>>> >>> > > >> >>>> >>> dependency so I used 2.1.8 though.
>> >>>> >>> > > >> >>>> >>> Closed jira ticket.
>> >>>> >>> > > >> >>>> >>> Thanks again!!  I hope everyone realizes how
>> >>>> >>> > > significant/powerful
>> >>>> >>> > > >> a
>> >>>> >>> > > >> >>>> plugin
>> >>>> >>> > > >> >>>> >>> this is.
>> >>>> >>> > > >> >>>> >>>
>> >>>> >>> > > >> >>>> >>> - Eric
>> >>>> >>> > > >> >>>> >>>
>> >>>> >>> > > >> >>>> >>>
>> >>>> >>> > > >> >>>> >>>
>> >>>> >>> > > >> >>>> >>> On Mon, Sep 28, 2009 at 9:07 AM, Musachy Barroso <
>> >>>> >>> > > >> musachy@gmail.com
>> >>>> >>> > > >> >>>> >wrote:
>> >>>> >>> > > >> >>>> >>>
>> >>>> >>> > > >> >>>> >>>> I should have done it with jasper 6 since the
>> >>>> beginning,
>> >>>> >>> but
>> >>>> >>> > > it
>> >>>> >>> > > >> seemed
>> >>>> >>> > > >> >>>> >>>> more difficult and my laziness took the best of
>> me :)
>> >>>> >>> > > >> >>>> >>>>
>> >>>> >>> > > >> >>>> >>>> musachy
>> >>>> >>> > > >> >>>> >>>>
>> >>>> >>> > > >> >>>> >>>> On Sun, Sep 27, 2009 at 10:12 PM, Obinna <
>> >>>> >>> obinna@gmail.com>
>> >>>> >>> > > >> wrote:
>> >>>> >>> > > >> >>>> >>>> > Great!. Musachy, thanks a million for doing
>> this so
>> >>>> >>> quickly.
>> >>>> >>> > > >> I'll
>> >>>> >>> > > >> >>>> give
>> >>>> >>> > > >> >>>> >>>> it a
>> >>>> >>> > > >> >>>> >>>> > test anon
>> >>>> >>> > > >> >>>> >>>> >
>> >>>> >>> > > >> >>>> >>>> >
>> >>>> >>> > > >> >>>> >>>> > On Mon, Sep 28, 2009 at 6:18 AM, Martin Gainty
>> <
>> >>>> >>> > > >> mgainty@hotmail.com
>> >>>> >>> > > >> >>>> >
>> >>>> >>> > > >> >>>> >>>> wrote:
>> >>>> >>> > > >> >>>> >>>> >
>> >>>> >>> > > >> >>>> >>>> >>
>> >>>> >>> > > >> >>>> >>>> >> thanks for the headsup.. 2.1.8 builds now..
>> >>>> >>> > > >> >>>> >>>> >> I had wrong version of commons-collections
>> >>>> ListUtils
>> >>>> >>> not
>> >>>> >>> > > >> having
>> >>>> >>> > > >> >>>> >>>> >> isEqualList(collection,collection)
>> >>>> >>> > > >> >>>> >>>> >>        <dependency>
>> >>>> >>> > > >> >>>> >>>> >>
>> >>>> >>> > > >>  <groupId>org.apache.commons.collections</groupId>
>> >>>> >>> > > >> >>>> >>>> >>
>> >>>> >>>  <artifactId>commons-collections</artifactId>
>> >>>> >>> > > >> >>>> >>>> >>                <version>3.2.1</version>
>> >>>> >>> > > >> >>>> >>>> >>        </dependency>
>> >>>> >>> > > >> >>>> >>>> >> pulls correct version
>> >>>> >>> > > >> >>>> >>>> >>
>> >>>> >>> > > >> >>>> >>>> >> seeing some failures in surefire..(too many to
>> >>>> count on
>> >>>> >>> one
>> >>>> >>> > > >> hand
>> >>>> >>> > > >> >>>> will
>> >>>> >>> > > >> >>>> >>>> take
>> >>>> >>> > > >> >>>> >>>> >> a look tommorrow)
>> >>>> >>> > > >> >>>> >>>> >> thanks,
>> >>>> >>> > > >> >>>> >>>> >> Martin Gainty
>> >>>> >>> > > >> >>>> >>>> >> ______________________________________________
>> >>>> >>> > > >> >>>> >>>> >> Standard Caveats apply
>> >>>> >>> > > >> >>>> >>>> >>
>> >>>> >>> > > >> >>>> >>>> >>
>> >>>> >>> > > >> >>>> >>>> >>
>> >>>> >>> > > >> >>>> >>>> >>
>> >>>> >>> > > >> >>>> >>>> >> > Date: Sun, 27 Sep 2009 19:00:12 -0700
>> >>>> >>> > > >> >>>> >>>> >> > Subject: Re: embeddedJsp plugin causing jsp
>> >>>> >>> compilation
>> >>>> >>> > > >> issues
>> >>>> >>> > > >> >>>> >>>> >> > From: musachy@gmail.com
>> >>>> >>> > > >> >>>> >>>> >> > To: dev@struts.apache.org
>> >>>> >>> > > >> >>>> >>>> >> >
>> >>>> >>> > > >> >>>> >>>> >> > a'right. The code is in trunk. To use the
>> plugin
>> >>>> with
>> >>>> >>> > > >> tomcat,
>> >>>> >>> > > >> >>>> just
>> >>>> >>> > > >> >>>> >>>> >> > build it and deploy it as usual. It works
>> with
>> >>>> Jetty
>> >>>> >>> 7+,
>> >>>> >>> > > >> which
>> >>>> >>> > > >> >>>> needs
>> >>>> >>> > > >> >>>> >>>> >> > the tomcat deps added to the application,
>> adding
>> >>>> this
>> >>>> >>> to
>> >>>> >>> > > >> your pom
>> >>>> >>> > > >> >>>> >>>> will
>> >>>> >>> > > >> >>>> >>>> >> > take care of it:
>> >>>> >>> > > >> >>>> >>>> >> >
>> >>>> >>> > > >> >>>> >>>> >> > <dependency>
>> >>>> >>> > > >> >>>> >>>> >> >        <groupId>org.apache.tomcat</groupId>
>> >>>> >>> > > >> >>>> >>>> >> >        <artifactId>jasper</artifactId>
>> >>>> >>> > > >> >>>> >>>> >> >        <version>6.0.18</version>
>> >>>> >>> > > >> >>>> >>>> >> > </dependency>
>> >>>> >>> > > >> >>>> >>>> >> >
>> >>>> >>> > > >> >>>> >>>> >> > let me know if it works.
>> >>>> >>> > > >> >>>> >>>> >> >
>> >>>> >>> > > >> >>>> >>>> >> > musachy
>> >>>> >>> > > >> >>>> >>>> >> >
>> >>>> >>> > > >> >>>> >>>> >> > On Sun, Sep 27, 2009 at 6:34 PM, Musachy
>> Barroso
>> >>>> <
>> >>>> >>> > > >> >>>> musachy@gmail.com>
>> >>>> >>> > > >> >>>> >>>> >> wrote:
>> >>>> >>> > > >> >>>> >>>> >> > > it works on tomcat but now it breaks in
>> >>>> jetty...oh
>> >>>> >>> joy.
>> >>>> >>> > > >> >>>> >>>> >> > >
>> >>>> >>> > > >> >>>> >>>> >> > > On Sun, Sep 27, 2009 at 2:35 PM, Musachy
>> >>>> Barroso <
>> >>>> >>> > > >> >>>> >>>> musachy@gmail.com>
>> >>>> >>> > > >> >>>> >>>> >> wrote:
>> >>>> >>> > > >> >>>> >>>> >> > >> ok I got jasper 6 working. I will do some
>> >>>> more
>> >>>> >>> testing
>> >>>> >>> > > >> (at
>> >>>> >>> > > >> >>>> least
>> >>>> >>> > > >> >>>> >>>> the
>> >>>> >>> > > >> >>>> >>>> >> > >> junits run fine), commit the jasper code,
>> and
>> >>>> then
>> >>>> >>> > > commit
>> >>>> >>> > > >> my
>> >>>> >>> > > >> >>>> >>>> changes.
>> >>>> >>> > > >> >>>> >>>> >> > >> (later on)
>> >>>> >>> > > >> >>>> >>>> >> > >>
>> >>>> >>> > > >> >>>> >>>> >> > >> musachy
>> >>>> >>> > > >> >>>> >>>> >> > >>
>> >>>> >>> > > >> >>>> >>>> >> > >> On Sun, Sep 27, 2009 at 12:56 PM, Musachy
>> >>>> Barroso
>> >>>> >>> <
>> >>>> >>> > > >> >>>> >>>> musachy@gmail.com>
>> >>>> >>> > > >> >>>> >>>> >> wrote:
>> >>>> >>> > > >> >>>> >>>> >> > >>> yeah that would work if I could use it
>> as a
>> >>>> >>> library,
>> >>>> >>> > > but
>> >>>> >>> > > >> >>>> jasper
>> >>>> >>> > > >> >>>> >>>> is
>> >>>> >>> > > >> >>>> >>>> >> not
>> >>>> >>> > > >> >>>> >>>> >> > >>> written with that in mind. I had to
>> change a
>> >>>> >>> fairly
>> >>>> >>> > > >> amount of
>> >>>> >>> > > >> >>>> >>>> private
>> >>>> >>> > > >> >>>> >>>> >> > >>> code to get it to work.
>> >>>> >>> > > >> >>>> >>>> >> > >>>
>> >>>> >>> > > >> >>>> >>>> >> > >>> musachy
>> >>>> >>> > > >> >>>> >>>> >> > >>>
>> >>>> >>> > > >> >>>> >>>> >> > >>> On Sun, Sep 27, 2009 at 12:50 PM,
>> Antonio
>> >>>> >>> Petrelli
>> >>>> >>> > > >> >>>> >>>> >> > >>> <an...@gmail.com> wrote:
>> >>>> >>> > > >> >>>> >>>> >> > >>>> 2009/9/27 Musachy Barroso <
>> >>>> musachy@gmail.com>:
>> >>>> >>> > > >> >>>> >>>> >> > >>>>> It is a missmatch between the
>> jsp-apis.
>> >>>> The
>> >>>> >>> > > internal
>> >>>> >>> > > >> jasper
>> >>>> >>> > > >> >>>> >>>> >> implements
>> >>>> >>> > > >> >>>> >>>> >> > >>>>> 2.0, while tomcat 6/jasper 6 implement
>> >>>> 2.1, and
>> >>>> >>> in
>> >>>> >>> > > 2.1
>> >>>> >>> > > >> >>>> there a
>> >>>> >>> > > >> >>>> >>>> new
>> >>>> >>> > > >> >>>> >>>> >> > >>>>> method called. It is not looking good.
>> >>>> >>> > > >> >>>> >>>> >> > >>>>
>> >>>> >>> > > >> >>>> >>>> >> > >>>> You might wish to use JarJar to
>> repackage,
>> >>>> to
>> >>>> >>> avoid
>> >>>> >>> > > >> >>>> conflicts
>> >>>> >>> > > >> >>>> >>>> like
>> >>>> >>> > > >> >>>> >>>> >> > >>>> this. Lots of people use them to avoid
>> >>>> >>> dependencies,
>> >>>> >>> > > >> like
>> >>>> >>> > > >> >>>> >>>> >> > >>>> commons-logging.
>> >>>> >>> > > >> >>>> >>>> >> > >>>> See:
>> >>>> >>> > > >> >>>> >>>> >> > >>>>
>> >>>> http://docs.atlassian.com/jarjar-maven-plugin/
>> >>>> >>> > > >> >>>> >>>> >> > >>>>
>> >>>> >>> > > >> >>>> >>>> >> > >>>> HTH
>> >>>> >>> > > >> >>>> >>>> >> > >>>> Antonio
>> >>>> >>> > > >> >>>> >>>> >> > >>>>
>> >>>> >>> > > >> >>>> >>>> >> > >>>>
>> >>>> >>> > > >> >>>> >>>> >>
>> >>>> >>> > > >> >>>>
>> >>>> >>> > >
>> >>>> ---------------------------------------------------------------------
>> >>>> >>> > > >> >>>> >>>> >> > >>>> To unsubscribe, e-mail:
>> >>>> >>> > > >> dev-unsubscribe@struts.apache.org
>> >>>> >>> > > >> >>>> >>>> >> > >>>> For additional commands, e-mail:
>> >>>> >>> > > >> dev-help@struts.apache.org
>> >>>> >>> > > >> >>>> >>>> >> > >>>>
>> >>>> >>> > > >> >>>> >>>> >> > >>>>
>> >>>> >>> > > >> >>>> >>>> >> > >>>
>> >>>> >>> > > >> >>>> >>>> >> > >>>
>> >>>> >>> > > >> >>>> >>>> >> > >>>
>> >>>> >>> > > >> >>>> >>>> >> > >>> --
>> >>>> >>> > > >> >>>> >>>> >> > >>> "Hey you! Would you help me to carry the
>> >>>> stone?"
>> >>>> >>> Pink
>> >>>> >>> > > >> Floyd
>> >>>> >>> > > >> >>>> >>>> >> > >>>
>> >>>> >>> > > >> >>>> >>>> >> > >>
>> >>>> >>> > > >> >>>> >>>> >> > >>
>> >>>> >>> > > >> >>>> >>>> >> > >>
>> >>>> >>> > > >> >>>> >>>> >> > >> --
>> >>>> >>> > > >> >>>> >>>> >> > >> "Hey you! Would you help me to carry the
>> >>>> stone?"
>> >>>> >>> Pink
>> >>>> >>> > > >> Floyd
>> >>>> >>> > > >> >>>> >>>> >> > >>
>> >>>> >>> > > >> >>>> >>>> >> > >
>> >>>> >>> > > >> >>>> >>>> >> > >
>> >>>> >>> > > >> >>>> >>>> >> > >
>> >>>> >>> > > >> >>>> >>>> >> > > --
>> >>>> >>> > > >> >>>> >>>> >> > > "Hey you! Would you help me to carry the
>> >>>> stone?"
>> >>>> >>> Pink
>> >>>> >>> > > >> Floyd
>> >>>> >>> > > >> >>>> >>>> >> > >
>> >>>> >>> > > >> >>>> >>>> >> >
>> >>>> >>> > > >> >>>> >>>> >> >
>> >>>> >>> > > >> >>>> >>>> >> >
>> >>>> >>> > > >> >>>> >>>> >> > --
>> >>>> >>> > > >> >>>> >>>> >> > "Hey you! Would you help me to carry the
>> stone?"
>> >>>> Pink
>> >>>> >>> > > Floyd
>> >>>> >>> > > >> >>>> >>>> >> >
>> >>>> >>> > > >> >>>> >>>> >> >
>> >>>> >>> > > >> >>>>
>> >>>> >>> > >
>> >>>> ---------------------------------------------------------------------
>> >>>> >>> > > >> >>>> >>>> >> > To unsubscribe, e-mail:
>> >>>> >>> > > dev-unsubscribe@struts.apache.org
>> >>>> >>> > > >> >>>> >>>> >> > For additional commands, e-mail:
>> >>>> >>> > > dev-help@struts.apache.org
>> >>>> >>> > > >> >>>> >>>> >> >
>> >>>> >>> > > >> >>>> >>>> >>
>> >>>> >>> > > >> >>>> >>>> >>
>> >>>> >>> > > >>
>> >>>> _________________________________________________________________
>> >>>> >>> > > >> >>>> >>>> >> Lauren found her dream laptop. Find the PC
>> that’s
>> >>>> right
>> >>>> >>> for
>> >>>> >>> > > >> you.
>> >>>> >>> > > >> >>>> >>>> >>
>> >>>> >>> > > >>
>> http://www.microsoft.com/windows/choosepc/?ocid=ftp_val_wl_290
>> >>>> >>> > > >> >>>> >>>> >
>> >>>> >>> > > >> >>>> >>>>
>> >>>> >>> > > >> >>>> >>>>
>> >>>> >>> > > >> >>>> >>>>
>> >>>> >>> > > >> >>>> >>>> --
>> >>>> >>> > > >> >>>> >>>> "Hey you! Would you help me to carry the stone?"
>> Pink
>> >>>> >>> Floyd
>> >>>> >>> > > >> >>>> >>>>
>> >>>> >>> > > >> >>>> >>>>
>> >>>> >>> > > >>
>> >>>> >>>
>> ---------------------------------------------------------------------
>> >>>> >>> > > >> >>>> >>>> To unsubscribe, e-mail:
>> >>>> dev-unsubscribe@struts.apache.org
>> >>>> >>> > > >> >>>> >>>> For additional commands, e-mail:
>> >>>> >>> dev-help@struts.apache.org
>> >>>> >>> > > >> >>>> >>>>
>> >>>> >>> > > >> >>>> >>>>
>> >>>> >>> > > >> >>>> >>>
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>> >
>> >>>> >>> > > >> >>>> >
>> >>>> >>> > > >> >>>> >
>> >>>> >>> > > >> >>>> > --
>> >>>> >>> > > >> >>>> > "Hey you! Would you help me to carry the stone?"
>> Pink
>> >>>> Floyd
>> >>>> >>> > > >> >>>> >
>> >>>> >>> > > >> >>>>
>> >>>> >>> > > >> >>>>
>> >>>> >>> > > >> >>>>
>> >>>> >>> > > >> >>>> --
>> >>>> >>> > > >> >>>> "Hey you! Would you help me to carry the stone?" Pink
>> >>>> Floyd
>> >>>> >>> > > >> >>>>
>> >>>> >>> > > >> >>>>
>> >>>> >>> > >
>> >>>> ---------------------------------------------------------------------
>> >>>> >>> > > >> >>>> To unsubscribe, e-mail:
>> dev-unsubscribe@struts.apache.org
>> >>>> >>> > > >> >>>> For additional commands, e-mail:
>> >>>> dev-help@struts.apache.org
>> >>>> >>> > > >> >>>>
>> >>>> >>> > > >> >>>>
>> >>>> >>> > > >> >>>
>> >>>> >>> > > >> >>
>> >>>> >>> > > >> >>
>> >>>> >>> > > >> >>
>> >>>> >>> > > >> >> --
>> >>>> >>> > > >> >> "Hey you! Would you help me to carry the stone?" Pink
>> Floyd
>> >>>> >>> > > >> >>
>> >>>> >>> > > >> >
>> >>>> >>> > > >> >
>> >>>> >>> > > >> >
>> >>>> >>> > > >> > --
>> >>>> >>> > > >> > "Hey you! Would you help me to carry the stone?" Pink
>> Floyd
>> >>>> >>> > > >> >
>> >>>> >>> > > >>
>> >>>> >>> > > >>
>> >>>> >>> > > >>
>> >>>> >>> > > >> --
>> >>>> >>> > > >> "Hey you! Would you help me to carry the stone?" Pink Floyd
>> >>>> >>> > > >>
>> >>>> >>> > > >>
>> >>>> >>>
>> ---------------------------------------------------------------------
>> >>>> >>> > > >> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>> >>>> >>> > > >> For additional commands, e-mail:
>> dev-help@struts.apache.org
>> >>>> >>> > > >>
>> >>>> >>> > > >>
>> >>>> >>> > > >
>> >>>> >>> > >
>> >>>> >>> > >
>> >>>> >>> > >
>> >>>> >>> > > --
>> >>>> >>> > > "Hey you! Would you help me to carry the stone?" Pink Floyd
>> >>>> >>> > >
>> >>>> >>> > >
>> >>>> ---------------------------------------------------------------------
>> >>>> >>> > > To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>> >>>> >>> > > For additional commands, e-mail: dev-help@struts.apache.org
>> >>>> >>> > >
>> >>>> >>> > >
>> >>>> >>>
>> >>>> >>> _________________________________________________________________
>> >>>> >>> Hotmail: Free, trusted and rich email service.
>> >>>> >>> http://clk.atdmt.com/GBL/go/171222984/direct/01/
>> >>>> >>>
>> >>>> >>
>> >>>> >
>> >>>> >
>> >>>> >
>> >>>> > --
>> >>>> > "Hey you! Would you help me to carry the stone?" Pink Floyd
>> >>>> >
>> >>>>
>> >>>>
>> >>>>
>> >>>> --
>> >>>> "Hey you! Would you help me to carry the stone?" Pink Floyd
>> >>>>
>> >>>> ---------------------------------------------------------------------
>> >>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>> >>>> For additional commands, e-mail: dev-help@struts.apache.org
>> >>>>
>> >>>>
>> >>>
>> >>
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>> For additional commands, e-mail: dev-help@struts.apache.org
>>
>>
>

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


Re: embeddedJsp plugin causing jsp compilation issues

Posted by Obinna <ob...@gmail.com>.
Yep. Works great on my cases now. Thanks!
I suppose this is general fix that should prevent any more unforseen
conflicts..

-eric


On Tue, Nov 10, 2009 at 10:52 PM, Musachy Barroso <mu...@gmail.com> wrote:

> I commited a fix (aka hack), and it seems to work in both tomcat and
> jetty. basically, in JspFactory if the servlet passed as a param is
> not one that the embedded jsp plugin created, then I delegate the call
> to jasper's JspFactory. Let me know if it works.
>
> musachy
>
> On Tue, Nov 10, 2009 at 8:24 AM, Musachy Barroso <mu...@gmail.com>
> wrote:
> > thanks Eric, I will take a look tonight.
> >
> > musachy
> >
> > On Tue, Nov 10, 2009 at 7:13 AM, Obinna <ob...@gmail.com> wrote:
> >> Hi Musachy,
> >>
> >> There's another classloading conflict issue with the embedded jsp
> plugin.
> >> This one has to do with the ELContextImpl.
> >>
> >> Loading an embedded jsp page that uses EL and then trying to load a
> normal
> >> page that uses EL throws:
> >>
> >>     java.lang.ClassCastException:
> >> org.apache.struts2.jasper.el.ELContextImpl cannot be cast to
> >> org.apache.jasper.el.ELContextImpl
> >>        at
> >>
> org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:920)
> >>
> >> Again, the embedded jsp page seems to cache it's version of the
> >> ELContextImpl ( ion PageContextImpl.proprietaryEvaluate) which tomcat
> then
> >> tries to cast to it's own version.
> >>
> >> It looks like I could simply stop PageContextImpl from storing it's
> >> generated EL context by modifying the getELContext() method, but I'm
> >> guessing on a page/application with a lot of expressions that could hurt
> >> quite a bit.
> >>
> >> - Eric
> >>
> >>
> >>
> >> On Tue, Oct 20, 2009 at 9:46 PM, Obinna <ob...@gmail.com> wrote:
> >>
> >>> Tested it and it works for me!
> >>> Great! Thanks a million.
> >>>
> >>>  - Eric
> >>>
> >>> On Tue, Oct 20, 2009 at 9:13 PM, Musachy Barroso <musachy@gmail.com
> >wrote:
> >>>
> >>>> small fix to JspApplicationContextImpl seems to make it work for
> >>>> me(add the hash of the classloader to the key), give it a try and let
> >>>> me know (update from trunk)
> >>>>
> >>>> musachy
> >>>>
> >>>> On Tue, Oct 20, 2009 at 11:00 AM, Musachy Barroso <mu...@gmail.com>
> >>>> wrote:
> >>>> > ok I was able to reproduce it, working on it (looks hairy)
> >>>> >
> >>>> > musachy
> >>>> >
> >>>> > On Tue, Oct 20, 2009 at 7:01 AM, Obinna <ob...@gmail.com> wrote:
> >>>> >> Ok, So I've been able to inspect the classloaders and I think I see
> >>>> what's
> >>>> >> going wrong (though I'm not sure how best to fix it).
> >>>> >>
> >>>> >> Given my two webapps, AppA and AppB running simulatenously in
> tomcat. I
> >>>> do
> >>>> >> the following:
> >>>> >>
> >>>> >>  1. Load AppA
> >>>> >>     a. Load normal jsp page (breakpoint not caught -> still using
> >>>> tomcat
> >>>> >> default JspFactory)
> >>>> >>     b. Load an embeddedJSP page
> >>>> >>          i.  Breakpoint caught at static initializer in
> >>>> JSPRuntimeContext
> >>>> >> (line 96)   {calling JspFactory.setDefaultFactory(factory); to
> >>>> initialize
> >>>> >> JspFactory implementation}
> >>>> >>               - JSPFactory classloader is StandardClassLoader
> (good)
> >>>> >>               - JspFactoryImpl classloader is AppA
> WebAppClassloader
> >>>> (good)
> >>>> >>          ii. Breakpoint caught at JSPApplicationContextImpl (line
> 79)
> >>>> >> {calling impl = new JspApplicationContextImpl() to initialize new
> >>>> servlet
> >>>> >> context}
> >>>> >>              - JspFactoryImpl classloader is AppA WebAppClassloader
> >>>> (good)
> >>>> >>              - JSPApplicationContextImpl classloader is AppA
> >>>> >> WebAppClassloader (good)
> >>>> >>
> >>>> >> 2. Load AppB
> >>>> >>     a. Load normal jsp page
> >>>> >>             i. Breakpoint caught at JSPApplicationContextImpl (line
> 79)
> >>>> >> {calling impl = new JspApplicationContextImpl() to initialize new
> >>>> servlet
> >>>> >> context}. This means that is is still using the JspFactoryImpl set
> in
> >>>> step
> >>>> >> 1.b.i above
> >>>> >>              - JspFactoryImpl classloader is AppA WebAppClassloader
> >>>> >> (bad!!!  using class loaded in AppA classloader)   !!!!!
> >>>> >>              - JSPApplicationContextImpl classloader is AppA
> >>>> >> WebAppClassloader (bad!!!  using class loaded in AppA classloader)
> >>>> !!!!!
> >>>> >>     b. Load embedded jsp page
> >>>> >>             JSPApplicationContextImpl (line 76) tries to call {
> >>>> >> JspApplicationContextImpl impl = (JspApplicationContextImpl)
> >>>> >> context.getAttribute(KEY); }   and throws ClassCastException
> because
> >>>> impl
> >>>> >> class returned by context.getAttribute(KEY) was loaded by
> >>>> >> AppAWebAppClassLoader but current class (JspApplicationContextImpl)
> >>>> class
> >>>> >> loader is now AppB WebAppClassLoader.
> >>>> >>
> >>>> >> It is as I suspected in my last email. I don't think that the
> >>>> JspFactoryImpl
> >>>> >> class set by JspFactory.setDefaultFactory(factory) when AppA was
> loaded
> >>>> >> should be the one used by AppB. Somehow the JspFactoryImpl used
> should
> >>>> >> probably be isolated by web application and if possible should only
> be
> >>>> used
> >>>> >> by the embeddedJSP compiler (not used globally for normal jsps as
> well)
> >>>> >>
> >>>> >>  - Eric
> >>>> >>
> >>>> >>
> >>>> >>
> >>>> >> On Tue, Oct 20, 2009 at 2:41 PM, Martin Gainty <
> mgainty@hotmail.com>
> >>>> wrote:
> >>>> >>
> >>>> >>>
> >>>> >>> Eric-
> >>>> >>> are you able to determine which classloader JspApplicationContext
> is
> >>>> using
> >>>> >>> to load JspApplicationContextImpl class?
> >>>> >>>         System.out.println("The class of " +
> JspApplicationContextImpl
> >>>> +
> >>>> >>>                            " is " +
> >>>> >>> JspApplicationContextImpl.getClass().getName());
> >>>> >>>         System.out.println("The classLoader of " +
> >>>> >>> JspApplicationContextImpl +
> >>>> >>>                            " is " +
> >>>> >>> JspApplicationContextImpl.getClass().getClassloader());
> >>>> >>>
> >>>> >>> were you able to verify the Jsp configuration entries in
> >>>> >>> $CATALINA_HOME/conf
> >>>> >>>     <servlet>
> >>>> >>>        <servlet-name>jsp</servlet-name>
> >>>> >>>
> >>>> <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
> >>>> >>>        <load-on-startup>3</load-on-startup>
> >>>> >>>    </servlet>
> >>>> >>> what is meant by term 'embedded' ..can i assume you are
> implementing
> >>>> APR
> >>>> >>> (apache portable runtime)?
> >>>> >>>
> >>>> >>> thanks for taking the time to look at this,
> >>>> >>> Martin Gainty
> >>>> >>> ______________________________________________
> >>>> >>> Verzicht und Vertraulichkeitanmerkung/Note de déni et de
> >>>> confidentialité
> >>>> >>>
> >>>> >>> Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene
> >>>> >>> Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede
> >>>> unbefugte
> >>>> >>> Weiterleitung oder Fertigung einer Kopie ist unzulaessig. Diese
> >>>> Nachricht
> >>>> >>> dient lediglich dem Austausch von Informationen und entfaltet
> keine
> >>>> >>> rechtliche Bindungswirkung. Aufgrund der leichten
> Manipulierbarkeit
> >>>> von
> >>>> >>> E-Mails koennen wir keine Haftung fuer den Inhalt uebernehmen.
> >>>> >>> Ce message est confidentiel et peut être privilégié. Si vous
> n'êtes
> >>>> pas le
> >>>> >>> destinataire prévu, nous te demandons avec bonté que pour
> satisfaire
> >>>> >>> informez l'expéditeur. N'importe quelle diffusion non autorisée ou
> la
> >>>> copie
> >>>> >>> de ceci est interdite. Ce message sert à l'information seulement
> et
> >>>> n'aura
> >>>> >>> pas n'importe quel effet légalement obligatoire. Étant donné que
> les
> >>>> email
> >>>> >>> peuvent facilement être sujets à la manipulation, nous ne pouvons
> >>>> accepter
> >>>> >>> aucune responsabilité pour le contenu fourni.
> >>>> >>>
> >>>> >>>
> >>>> >>>
> >>>> >>>
> >>>> >>> > Date: Tue, 20 Oct 2009 14:14:55 +0300
> >>>> >>> > Subject: Re: embeddedJsp plugin causing jsp compilation issues
> >>>> >>> > From: obinna@gmail.com
> >>>> >>> > To: dev@struts.apache.org
> >>>> >>> >
> >>>> >>> > An update...
> >>>> >>> >
> >>>> >>> > I've tried setting a breakpoint in the
> >>>> >>> > JspApplicationContextImpl.getInstance() method and the
> >>>> >>> > JspFactoryImpl().getJspApplicationContext() methods but for some
> >>>> reason
> >>>> >>> > cannot inspect the variable at that point to figure out which
> >>>> classloader
> >>>> >>> > are being called when.
> >>>> >>> >
> >>>> >>> > What is clear is that once an embeddedJsp is loaded, the default
> >>>> >>> JspFactory
> >>>> >>> > for ALL jsp pages (even non-embedded ones) becomes the
> >>>> >>> > org.apache.struts2.jasper.runtime.JspFactoryImpl (even for a
> >>>> separate
> >>>> >>> > web-app!) because loading subsequent non-embedded pages for the
> >>>> first
> >>>> >>> time
> >>>> >>> > (in either web-app) still hits and break in the
> >>>> >>> > JspApplicationContextImpl.getInstance() method. It seems like
> using
> >>>> the
> >>>> >>> > embeddedJsp calls JspFactory().setDefaultFactory() or something
> and
> >>>> that
> >>>> >>> > this has a system-wide scope.
> >>>> >>> >
> >>>> >>> > I don't suppose that this would be a problem if it wasn't for
> some
> >>>> >>> > classloader mix-up which means that when I then try to access an
> >>>> >>> embeddedJsp
> >>>> >>> > page in the second web-app, in the
> >>>> >>> JspApplicationContextImpl.getInstance()
> >>>> >>> > method it finds the JspApplicationContextImpl instance that was
> set
> >>>> >>> during
> >>>> >>> > the loading of some initial pages (such as login page) in this
> >>>> second app
> >>>> >>> > but it seems that that must have been set by a different
> classloader
> >>>> >>> because
> >>>> >>> > the class cast fails when it tries to cast that instance (on the
> >>>> line
> >>>> >>> > JspApplicationContextImpl impl = (JspApplicationContextImpl)
> >>>> >>> > context.getAttribute(KEY)).
> >>>> >>> >
> >>>> >>> > I will continue to try to figure out how to inspect the
> variables
> >>>> (and
> >>>> >>> see
> >>>> >>> > the classloaders) in my IDE...
> >>>> >>> >
> >>>> >>> > - Eric
> >>>> >>> >
> >>>> >>> >
> >>>> >>> >
> >>>> >>> > On Sat, Oct 17, 2009 at 9:12 PM, Musachy Barroso <
> musachy@gmail.com
> >>>> >
> >>>> >>> wrote:
> >>>> >>> >
> >>>> >>> > > nothing so obvious, JspApplicationContextImpl is obviously
> getting
> >>>> >>> > > loaded by different classloaders, but I am out of ideas, I
> think
> >>>> you
> >>>> >>> > > can set a break point for classloading right? Try to do that
> and
> >>>> see
> >>>> >>> > > if you get any insight.
> >>>> >>> > >
> >>>> >>> > > musachy
> >>>> >>> > >
> >>>> >>> > > On Sat, Oct 17, 2009 at 2:57 AM, Obinna <ob...@gmail.com>
> wrote:
> >>>> >>> > > > I have a ton of jars in my lib (but no el-api). The lib for
> that
> >>>> >>> projects
> >>>> >>> > > > looks as follows (both projects have similar libs):
> >>>> >>> > > >
> >>>> >>> > > > asterisk-java-1.0.jar
> >>>> >>> > > > cglib-nodep-2.1_3.jar
> >>>> >>> > > > chartengineapi.jar
> >>>> >>> > > > com.ibm.icu_4.0.1.v20090415.jar
> >>>> >>> > > > commons-beanutils-1.7.0.jar
> >>>> >>> > > > commons-cli-1.0.jar
> >>>> >>> > > > commons-codec-1.3.jar
> >>>> >>> > > > commons-collections-3.2.1.jar
> >>>> >>> > > > commons-dbcp.jar
> >>>> >>> > > > commons-digester-1.8.jar
> >>>> >>> > > > commons-fileupload-1.2.1.jar
> >>>> >>> > > > commons-httpclient-3.1.jar
> >>>> >>> > > > commons-io-1.1.jar
> >>>> >>> > > > commons-lang-2.4.0.jar
> >>>> >>> > > > commons-logging.jar
> >>>> >>> > > > commons-pool.jar
> >>>> >>> > > > coreapi.jar
> >>>> >>> > > > crosstabcoreapi.jar
> >>>> >>> > > > dataadapterapi.jar
> >>>> >>> > > > dataaggregationapi.jar
> >>>> >>> > > > dataextraction.jar
> >>>> >>> > > > displaytag-1.2.jar
> >>>> >>> > > > displaytag-export-poi-1.2.jar
> >>>> >>> > > > dteapi.jar
> >>>> >>> > > > ecxconnect-mmp-bl.jar
> >>>> >>> > > > emitterconfig.jar
> >>>> >>> > > > engineapi.jar
> >>>> >>> > > > flute.jar
> >>>> >>> > > > *freemarker-2.3.15.jar*
> >>>> >>> > > > gnu-hylafax-core-1.0.3.jar
> >>>> >>> > > > gnu-hylafax-inet-ftp-1.0.3.jar
> >>>> >>> > > > itext-1.3.jar
> >>>> >>> > > > jasypt-1.4.1.x.jar
> >>>> >>> > > > jaxws-spring-1.8.jar
> >>>> >>> > > > jep-3.3.0-trial.jar
> >>>> >>> > > > joda-time-1.6.jar
> >>>> >>> > > > js.jar
> >>>> >>> > > > json.jar
> >>>> >>> > > > jsonplugin-0.33.jar
> >>>> >>> > > > jstl.jar
> >>>> >>> > > > junit-4.4.jar
> >>>> >>> > > > log4j-1.2.8.jar
> >>>> >>> > > > mail-1.4.2.jar
> >>>> >>> > > > mmpdemo-bl.jar
> >>>> >>> > > > modelapi.jar
> >>>> >>> > > > modelodaapi.jar
> >>>> >>> > > > mysql-connector-java-5.0.5-bin.jar
> >>>> >>> > > > odadesignapi.jar
> >>>> >>> > > > *ognl-2.7.3.jar*
> >>>> >>> > > > org.apache.commons.codec_1.3.0.v20080530-1600.jar
> >>>> >>> > > > org.eclipse.birt.report.model_2.5.0.v20090605.jar
> >>>> >>> > > > org.eclipse.emf.common_2.5.0.v200906080927.jar
> >>>> >>> > > > org.eclipse.emf.ecore_2.5.0.v200906080927.jar
> >>>> >>> > > > org.eclipse.emf.ecore.xmi_2.5.0.v200906080927.jar
> >>>> >>> > > > org.w3c.css.sac_1.3.0.v200805290154.jar
> >>>> >>> > > > poi-3.0.2-FINAL-20080204.jar
> >>>> >>> > > > scriptapi.jar
> >>>> >>> > > > spring-2.5.6.jar
> >>>> >>> > > > spring-security-core-2.0.4.jar
> >>>> >>> > > > spring-security-taglibs-2.0.4.jar
> >>>> >>> > > > spring-test-2.5.6.jar
> >>>> >>> > > > spring-webmvc-2.5.6.jar
> >>>> >>> > > > spring-ws-1.5.2.jar
> >>>> >>> > > > standard.jar
> >>>> >>> > > > *struts2-core-2.1.8.jar*
> >>>> >>> > > > *struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar
> >>>> >>> > > > *struts2-jquery-plugin-1.0.8.jar
> >>>> >>> > > > struts2-scope-plugin-1.0.4 (modified).jar
> >>>> >>> > > > *struts2-spring-plugin-2.1.8.jar*
> >>>> >>> > > > tidy.jar
> >>>> >>> > > > trilead-ssh2-build213.jar
> >>>> >>> > > > webservices-api.jar
> >>>> >>> > > > webservices-rt.jar
> >>>> >>> > > > xbean-spring-3.1.jar
> >>>> >>> > > > *xwork-core-2.1.6.jar*
> >>>> >>> > > >
> >>>> >>> > > > I haven't tried testing this on another 'trimmed down'
> project.
> >>>> Let
> >>>> >>> me
> >>>> >>> > > know
> >>>> >>> > > > if anything is glaringly obvious here, otherwise, I'll try
> the
> >>>> >>> > > trimming-down
> >>>> >>> > > >
> >>>> >>> > > >  Thanks for looking through this!
> >>>> >>> > > > - Eric
> >>>> >>> > > >
> >>>> >>> > > >
> >>>> >>> > > > On Sat, Oct 17, 2009 at 2:52 AM, Musachy Barroso <
> >>>> musachy@gmail.com>
> >>>> >>> > > wrote:
> >>>> >>> > > >
> >>>> >>> > > >> nvm. el-api.jar should not be in lib, after removing them I
> >>>> have to
> >>>> >>> > > >> webapps with jsp plugin working. Can you compare your jars
> to:
> >>>> >>> > > >>
> >>>> >>> > > >>  commons-el-1.0.jar
> >>>> >>> > > >>  commons-fileupload-1.2.1.jar
> >>>> >>> > > >>  commons-io-1.3.2.jar
> >>>> >>> > > >>  commons-logging-1.1.1.jar
> >>>> >>> > > >>  freemarker-2.3.15.jar
> >>>> >>> > > >>  ognl-2.7.3.jar
> >>>> >>> > > >>  struts2-core-2.1.9-SNAPSHOT.jar
> >>>> >>> > > >>  struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar
> >>>> >>> > > >>  xwork-core-2.1.7-SNAPSHOT.jar
> >>>> >>> > > >>
> >>>> >>> > > >> and tell me the exact steps after you load the app, to
> >>>> reproduce the
> >>>> >>> > > error?
> >>>> >>> > > >>
> >>>> >>> > > >> thanks for helping me test this btw :)
> >>>> >>> > > >> musachy
> >>>> >>> > > >>
> >>>> >>> > > >> On Fri, Oct 16, 2009 at 4:49 PM, Musachy Barroso <
> >>>> musachy@gmail.com
> >>>> >>> >
> >>>> >>> > > >> wrote:
> >>>> >>> > > >> > I am getting a different error:
> >>>> >>> > > >> >
> >>>> >>> > > >> > javax.servlet.ServletException: java.lang.LinkageError:
> Class
> >>>> >>> > > >> > javax/el/ExpressionFactory violates loader constraints
> >>>> >>> > > >> >
> >>>> >>> > >
>  org.apache.jasper.servlet.JspServlet.service(JspServlet.java:275)
> >>>> >>> > > >> >
> >>>> >>>  javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> >>>> >>> > > >> >
> >>>> >>> > > >>
> >>>> >>> > >
> >>>> >>>
> >>>>
>  org.apache.struts2.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:154)
> >>>> >>> > > >> >
> >>>> >>> > > >>
> >>>> >>> > >
> >>>> >>>
> >>>>
>  org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186)
> >>>> >>> > > >> >
> >>>> >>> > > >>
> >>>> >>> > >
> >>>> >>>
> >>>>
>  com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:362)
> >>>> >>> > > >> >
> >>>> >>> > > >>
> >>>> >>> > >
> >>>> >>>
> >>>>
>  com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:266)
> >>>> >>> > > >> >
> >>>> >>> > > >>
> >>>> >>> > >
> >>>> >>>
> >>>>
>  com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165)
> >>>> >>> > > >> >
> >>>> >>> > > >> > which looks even more weird. Here are the jars I have in
> >>>> >>> web-inf/lib:
> >>>> >>> > > >> >
> >>>> >>> > > >> > commons-el-1.0.jar
> >>>> >>> > > >> > commons-fileupload-1.2.1.jar
> >>>> >>> > > >> > commons-io-1.3.2.jar
> >>>> >>> > > >> > commons-logging-1.1.1.jar
> >>>> >>> > > >> > el-api-6.0.18.jar
> >>>> >>> > > >> > freemarker-2.3.15.jar
> >>>> >>> > > >> > ognl-2.7.3.jar
> >>>> >>> > > >> > struts2-core-2.1.9-SNAPSHOT.jar
> >>>> >>> > > >> > struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar
> >>>> >>> > > >> > testjar-1.0.jar
> >>>> >>> > > >> > xwork-core-2.1.7-SNAPSHOT.jar
> >>>> >>> > > >> >
> >>>> >>> > > >> > That's on a default installation of tomcat 6.0.20. Can
> you
> >>>> compare
> >>>> >>> > > >> > that to your jars?
> >>>> >>> > > >> >
> >>>> >>> > > >> > musachy
> >>>> >>> > > >> >
> >>>> >>> > > >> > On Thu, Oct 15, 2009 at 8:57 AM, Musachy Barroso <
> >>>> >>> musachy@gmail.com>
> >>>> >>> > > >> wrote:
> >>>> >>> > > >> >> pretty consistent :), I will try to take a look.
> >>>> >>> > > >> >>
> >>>> >>> > > >> >> musachy
> >>>> >>> > > >> >>
> >>>> >>> > > >> >> On Thu, Oct 15, 2009 at 8:23 AM, Obinna <
> obinna@gmail.com>
> >>>> >>> wrote:
> >>>> >>> > > >> >>> No I don't have any unusual jars in my shared lib
> (learnt
> >>>> my
> >>>> >>> lesson
> >>>> >>> > > >> last
> >>>> >>> > > >> >>> time :| - I have some jax-ws web-service api stuff in
> >>>> endorsed
> >>>> >>> but
> >>>> >>> > > >> that's
> >>>> >>> > > >> >>> all).
> >>>> >>> > > >> >>>
> >>>> >>> > > >> >>> Placing the plugin jar in the shared dir ('lib' for
> Tomcat
> >>>> 6)
> >>>> >>> > > results
> >>>> >>> > > >> in
> >>>> >>> > > >> >>> struts not being able to find the plugin config file
> and
> >>>> >>> throwing
> >>>> >>> > > the
> >>>> >>> > > >> error:
> >>>> >>> > > >> >>> "There is no result type defined for type
> 'embeddedJsp'..."
> >>>> >>> > > >> >>>
> >>>> >>> > > >> >>> Given this, it is somewhat strange that, placing it in
> the
> >>>> >>> web-app
> >>>> >>> > > libs
> >>>> >>> > > >> *as
> >>>> >>> > > >> >>> well as *the tomcat lib results in struts trying to
> load
> >>>> the
> >>>> >>> trying
> >>>> >>> > > to
> >>>> >>> > > >> load
> >>>> >>> > > >> >>> the plugin config file twice and throwing the error
> during
> >>>> >>> startup:
> >>>> >>> > > >> >>>
> >>>> >>> > > >> >>> The package name 'embeddedjsp-default' at location
> package
> >>>> -
> >>>> >>> > > >> >>>
> >>>> >>> > > >>
> >>>> >>> > >
> >>>> >>>
> >>>>
> jar:file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/wtpwebapps/test/WEB-INF/lib/struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar!/struts-plugin.xml:29:82
> >>>> >>> > > >> >>> is already been used by another package at location
> package
> >>>> -
> >>>> >>> > > >> >>>
> >>>> >>> > > >>
> >>>> >>> > >
> >>>> >>>
> >>>>
> jar:file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/lib/struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar!/struts-plugin.xml:29:82
> >>>> >>> > > >> >>> ....
> >>>> >>> > > >> >>>
> >>>> >>> > > >> >>> Thanks,
> >>>> >>> > > >> >>>  - Eric
> >>>> >>> > > >> >>>
> >>>> >>> > > >> >>>
> >>>> >>> > > >> >>>
> >>>> >>> > > >> >>>
> >>>> >>> > > >> >>> On Thu, Oct 15, 2009 at 5:59 PM, Musachy Barroso <
> >>>> >>> musachy@gmail.com
> >>>> >>> > > >
> >>>> >>> > > >> wrote:
> >>>> >>> > > >> >>>
> >>>> >>> > > >> >>>> just for kicks, put the embeddedjsp plugin in the
> shared
> >>>> dir,
> >>>> >>> and
> >>>> >>> > > see
> >>>> >>> > > >> >>>> if it works.
> >>>> >>> > > >> >>>>
> >>>> >>> > > >> >>>> On Thu, Oct 15, 2009 at 7:58 AM, Musachy Barroso <
> >>>> >>> > > musachy@gmail.com>
> >>>> >>> > > >> >>>> wrote:
> >>>> >>> > > >> >>>> > yeah that is kind of strange. do you have any of the
> >>>> struts,
> >>>> >>> or
> >>>> >>> > > your
> >>>> >>> > > >> >>>> > jars in the tomcat shared dir? even in that case it
> >>>> should
> >>>> >>> not
> >>>> >>> > > >> matter.
> >>>> >>> > > >> >>>> >
> >>>> >>> > > >> >>>> > musachy
> >>>> >>> > > >> >>>> >
> >>>> >>> > > >> >>>> > On Thu, Oct 15, 2009 at 1:10 AM, Obinna <
> >>>> obinna@gmail.com>
> >>>> >>> > > wrote:
> >>>> >>> > > >> >>>> >> There's another classloading issue with the
> embeddedJsp
> >>>> >>> plugin.
> >>>> >>> > > >> >>>> >>
> >>>> >>> > > >> >>>> >> When deploying multiple webapps on the same tomcat
> >>>> server,
> >>>> >>> both
> >>>> >>> > > of
> >>>> >>> > > >> which
> >>>> >>> > > >> >>>> >> utilize the embeddedJsp plugin. After loading
> embeddJsp
> >>>> >>> pages in
> >>>> >>> > > on
> >>>> >>> > > >> web
> >>>> >>> > > >> >>>> app,
> >>>> >>> > > >> >>>> >> attempting to load any embeddedJsp pages in the
> second
> >>>> >>> webapp
> >>>> >>> > > >> throws the
> >>>> >>> > > >> >>>> >> following exception:
> >>>> >>> > > >> >>>> >>
> >>>> >>> > > >> >>>> >> java.lang.ClassCastException:
> >>>> >>> > > >> >>>> >>
> >>>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl
> >>>> >>> > > cannot
> >>>> >>> > > >> be
> >>>> >>> > > >> >>>> cast
> >>>> >>> > > >> >>>> >> to
> >>>> >>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl
> >>>> >>> > > >> >>>> >>
> >>>> >>> > > >> >>>> >>
> >>>> >>> > > >> >>>>
> >>>> >>> > > >>
> >>>> >>> > >
> >>>> >>>
> >>>>
> org.apache.struts2.jasper.runtime.JspApplicationContextImpl.getInstance(JspApplicationContextImpl.java:76)
> >>>> >>> > > >> >>>> >>
> >>>> >>> > > >> >>>> >>
> >>>> >>> > > >> >>>>
> >>>> >>> > > >>
> >>>> >>> > >
> >>>> >>>
> >>>>
> org.apache.struts2.jasper.runtime.JspFactoryImpl.getJspApplicationContext(JspFactoryImpl.java:200)
> >>>> >>> > > >> >>>> >>
> >>>> >>> > > >> >>>> >>
> >>>> >>> > > >> >>>>
> >>>> >>> > > >>
> >>>> >>> > >
> >>>> >>>
> >>>>
> org.apache.struts2.jsp.com.test.service.reporting.jsp.alert_jsp._jspInit(alert_jsp.java
> >>>> >>> > > >> >>>> >> from :31)
> >>>> >>> > > >> >>>> >>
> >>>> >>> > > >> >>>>
> >>>> >>> > > >>
> >>>> >>>
> >>>>
>  org.apache.struts2.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52)
> >>>> >>> > > >> >>>> >>
> >>>> >>> > >
>  org.apache.struts2.JSPLoader.createServlet(JSPLoader.java:112)
> >>>> >>> > > >> >>>> >>
>  org.apache.struts2.JSPLoader.load(JSPLoader.java:90)
> >>>> >>> > > >> >>>> >>
> >>>> >>>  org.apache.struts2.ServletCache$1.call(ServletCache.java:46)
> >>>> >>> > > >> >>>> >>
> >>>> >>>  org.apache.struts2.ServletCache$1.call(ServletCache.java:44)
> >>>> >>> > > >> >>>> >>
> >>>> >>> > > >>
> >>>>  java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> >>>> >>> > > >> >>>> >>
> >>>>  java.util.concurrent.FutureTask.run(FutureTask.java:138)
> >>>> >>> > > >> >>>> >>
> >>>>  org.apache.struts2.ServletCache.get(ServletCache.java:53)
> >>>> >>> > > >> >>>> >>
> >>>>  org.apache.struts2.JSPRuntime.handle(JSPRuntime.java:63)
> >>>> >>> > > >> >>>> >>
> >>>>  org.apache.struts2.JSPRuntime.handle(JSPRuntime.java:45)
> >>>> >>> > > >> >>>> >>
> >>>> >>> > > >> >>>> >>
> >>>> >>> > > >> >>>>
> >>>> >>> > > >>
> >>>> >>> > >
> >>>> >>>
> >>>>
> org.apache.struts2.EmbeddedJSPResult.doExecute(EmbeddedJSPResult.java:32)
> >>>> >>> > > >> >>>> >>
> >>>> >>> > > >> >>>> >>
> >>>> >>> > > >> >>>>
> >>>> >>> > > >>
> >>>> >>> > >
> >>>> >>>
> >>>>
> org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186).
> >>>> >>> > > >> >>>> >>
> >>>> >>> > > >> >>>> >> which is strange as i would have expected the
> >>>> >>> > > >> JspApplicationContextImpl
> >>>> >>> > > >> >>>> to
> >>>> >>> > > >> >>>> >> be loaded and isolated by each web-application
> class
> >>>> loader.
> >>>> >>> > > >> >>>> >>
> >>>> >>> > > >> >>>> >> Also, subsequent attempts to load non-embedded jsp
> page
> >>>> then
> >>>> >>> > > throw:
> >>>> >>> > > >> >>>> >>
> >>>> >>> > > >> >>>> >>
> >>>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl
> >>>> >>> > > cannot
> >>>> >>> > > >> be
> >>>> >>> > > >> >>>> cast
> >>>> >>> > > >> >>>> >> to
> >>>> >>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl
> >>>> >>> > > >> >>>> >> at
> >>>> >>> > > >> >>>> >>
> >>>> >>> > > >> >>>>
> >>>> >>> > > >>
> >>>> >>> > >
> >>>> >>>
> >>>>
> org.apache.struts2.jasper.runtime.JspApplicationContextImpl.getInstance(JspApplicationContextImpl.java:76)
> >>>> >>> > > >> >>>> >>    at
> >>>> >>> > > >> >>>> >>
> >>>> >>> > > >> >>>>
> >>>> >>> > > >>
> >>>> >>> > >
> >>>> >>>
> >>>>
> org.apache.struts2.jasper.runtime.JspFactoryImpl.getJspApplicationContext(JspFactoryImpl.java:200)
> >>>> >>> > > >> >>>> >>
> >>>> >>> > > >> >>>> >>
> >>>> >>> > > >> >>>> >> - Eric
> >>>> >>> > > >> >>>> >>
> >>>> >>> > > >> >>>> >>
> >>>> >>> > > >> >>>> >>
> >>>> >>> > > >> >>>> >>
> >>>> >>> > > >> >>>> >> On Mon, Sep 28, 2009 at 11:05 AM, Obinna <
> >>>> obinna@gmail.com>
> >>>> >>> > > wrote:
> >>>> >>> > > >> >>>> >>
> >>>> >>> > > >> >>>> >>> Tested and work well. Couldn't resolve
> >>>> >>> > > struts2-core.2.1.9-Snapshot
> >>>> >>> > > >> >>>> maven
> >>>> >>> > > >> >>>> >>> dependency so I used 2.1.8 though.
> >>>> >>> > > >> >>>> >>> Closed jira ticket.
> >>>> >>> > > >> >>>> >>> Thanks again!!  I hope everyone realizes how
> >>>> >>> > > significant/powerful
> >>>> >>> > > >> a
> >>>> >>> > > >> >>>> plugin
> >>>> >>> > > >> >>>> >>> this is.
> >>>> >>> > > >> >>>> >>>
> >>>> >>> > > >> >>>> >>> - Eric
> >>>> >>> > > >> >>>> >>>
> >>>> >>> > > >> >>>> >>>
> >>>> >>> > > >> >>>> >>>
> >>>> >>> > > >> >>>> >>> On Mon, Sep 28, 2009 at 9:07 AM, Musachy Barroso <
> >>>> >>> > > >> musachy@gmail.com
> >>>> >>> > > >> >>>> >wrote:
> >>>> >>> > > >> >>>> >>>
> >>>> >>> > > >> >>>> >>>> I should have done it with jasper 6 since the
> >>>> beginning,
> >>>> >>> but
> >>>> >>> > > it
> >>>> >>> > > >> seemed
> >>>> >>> > > >> >>>> >>>> more difficult and my laziness took the best of
> me :)
> >>>> >>> > > >> >>>> >>>>
> >>>> >>> > > >> >>>> >>>> musachy
> >>>> >>> > > >> >>>> >>>>
> >>>> >>> > > >> >>>> >>>> On Sun, Sep 27, 2009 at 10:12 PM, Obinna <
> >>>> >>> obinna@gmail.com>
> >>>> >>> > > >> wrote:
> >>>> >>> > > >> >>>> >>>> > Great!. Musachy, thanks a million for doing
> this so
> >>>> >>> quickly.
> >>>> >>> > > >> I'll
> >>>> >>> > > >> >>>> give
> >>>> >>> > > >> >>>> >>>> it a
> >>>> >>> > > >> >>>> >>>> > test anon
> >>>> >>> > > >> >>>> >>>> >
> >>>> >>> > > >> >>>> >>>> >
> >>>> >>> > > >> >>>> >>>> > On Mon, Sep 28, 2009 at 6:18 AM, Martin Gainty
> <
> >>>> >>> > > >> mgainty@hotmail.com
> >>>> >>> > > >> >>>> >
> >>>> >>> > > >> >>>> >>>> wrote:
> >>>> >>> > > >> >>>> >>>> >
> >>>> >>> > > >> >>>> >>>> >>
> >>>> >>> > > >> >>>> >>>> >> thanks for the headsup.. 2.1.8 builds now..
> >>>> >>> > > >> >>>> >>>> >> I had wrong version of commons-collections
> >>>> ListUtils
> >>>> >>> not
> >>>> >>> > > >> having
> >>>> >>> > > >> >>>> >>>> >> isEqualList(collection,collection)
> >>>> >>> > > >> >>>> >>>> >>        <dependency>
> >>>> >>> > > >> >>>> >>>> >>
> >>>> >>> > > >>  <groupId>org.apache.commons.collections</groupId>
> >>>> >>> > > >> >>>> >>>> >>
> >>>> >>>  <artifactId>commons-collections</artifactId>
> >>>> >>> > > >> >>>> >>>> >>                <version>3.2.1</version>
> >>>> >>> > > >> >>>> >>>> >>        </dependency>
> >>>> >>> > > >> >>>> >>>> >> pulls correct version
> >>>> >>> > > >> >>>> >>>> >>
> >>>> >>> > > >> >>>> >>>> >> seeing some failures in surefire..(too many to
> >>>> count on
> >>>> >>> one
> >>>> >>> > > >> hand
> >>>> >>> > > >> >>>> will
> >>>> >>> > > >> >>>> >>>> take
> >>>> >>> > > >> >>>> >>>> >> a look tommorrow)
> >>>> >>> > > >> >>>> >>>> >> thanks,
> >>>> >>> > > >> >>>> >>>> >> Martin Gainty
> >>>> >>> > > >> >>>> >>>> >> ______________________________________________
> >>>> >>> > > >> >>>> >>>> >> Standard Caveats apply
> >>>> >>> > > >> >>>> >>>> >>
> >>>> >>> > > >> >>>> >>>> >>
> >>>> >>> > > >> >>>> >>>> >>
> >>>> >>> > > >> >>>> >>>> >>
> >>>> >>> > > >> >>>> >>>> >> > Date: Sun, 27 Sep 2009 19:00:12 -0700
> >>>> >>> > > >> >>>> >>>> >> > Subject: Re: embeddedJsp plugin causing jsp
> >>>> >>> compilation
> >>>> >>> > > >> issues
> >>>> >>> > > >> >>>> >>>> >> > From: musachy@gmail.com
> >>>> >>> > > >> >>>> >>>> >> > To: dev@struts.apache.org
> >>>> >>> > > >> >>>> >>>> >> >
> >>>> >>> > > >> >>>> >>>> >> > a'right. The code is in trunk. To use the
> plugin
> >>>> with
> >>>> >>> > > >> tomcat,
> >>>> >>> > > >> >>>> just
> >>>> >>> > > >> >>>> >>>> >> > build it and deploy it as usual. It works
> with
> >>>> Jetty
> >>>> >>> 7+,
> >>>> >>> > > >> which
> >>>> >>> > > >> >>>> needs
> >>>> >>> > > >> >>>> >>>> >> > the tomcat deps added to the application,
> adding
> >>>> this
> >>>> >>> to
> >>>> >>> > > >> your pom
> >>>> >>> > > >> >>>> >>>> will
> >>>> >>> > > >> >>>> >>>> >> > take care of it:
> >>>> >>> > > >> >>>> >>>> >> >
> >>>> >>> > > >> >>>> >>>> >> > <dependency>
> >>>> >>> > > >> >>>> >>>> >> >        <groupId>org.apache.tomcat</groupId>
> >>>> >>> > > >> >>>> >>>> >> >        <artifactId>jasper</artifactId>
> >>>> >>> > > >> >>>> >>>> >> >        <version>6.0.18</version>
> >>>> >>> > > >> >>>> >>>> >> > </dependency>
> >>>> >>> > > >> >>>> >>>> >> >
> >>>> >>> > > >> >>>> >>>> >> > let me know if it works.
> >>>> >>> > > >> >>>> >>>> >> >
> >>>> >>> > > >> >>>> >>>> >> > musachy
> >>>> >>> > > >> >>>> >>>> >> >
> >>>> >>> > > >> >>>> >>>> >> > On Sun, Sep 27, 2009 at 6:34 PM, Musachy
> Barroso
> >>>> <
> >>>> >>> > > >> >>>> musachy@gmail.com>
> >>>> >>> > > >> >>>> >>>> >> wrote:
> >>>> >>> > > >> >>>> >>>> >> > > it works on tomcat but now it breaks in
> >>>> jetty...oh
> >>>> >>> joy.
> >>>> >>> > > >> >>>> >>>> >> > >
> >>>> >>> > > >> >>>> >>>> >> > > On Sun, Sep 27, 2009 at 2:35 PM, Musachy
> >>>> Barroso <
> >>>> >>> > > >> >>>> >>>> musachy@gmail.com>
> >>>> >>> > > >> >>>> >>>> >> wrote:
> >>>> >>> > > >> >>>> >>>> >> > >> ok I got jasper 6 working. I will do some
> >>>> more
> >>>> >>> testing
> >>>> >>> > > >> (at
> >>>> >>> > > >> >>>> least
> >>>> >>> > > >> >>>> >>>> the
> >>>> >>> > > >> >>>> >>>> >> > >> junits run fine), commit the jasper code,
> and
> >>>> then
> >>>> >>> > > commit
> >>>> >>> > > >> my
> >>>> >>> > > >> >>>> >>>> changes.
> >>>> >>> > > >> >>>> >>>> >> > >> (later on)
> >>>> >>> > > >> >>>> >>>> >> > >>
> >>>> >>> > > >> >>>> >>>> >> > >> musachy
> >>>> >>> > > >> >>>> >>>> >> > >>
> >>>> >>> > > >> >>>> >>>> >> > >> On Sun, Sep 27, 2009 at 12:56 PM, Musachy
> >>>> Barroso
> >>>> >>> <
> >>>> >>> > > >> >>>> >>>> musachy@gmail.com>
> >>>> >>> > > >> >>>> >>>> >> wrote:
> >>>> >>> > > >> >>>> >>>> >> > >>> yeah that would work if I could use it
> as a
> >>>> >>> library,
> >>>> >>> > > but
> >>>> >>> > > >> >>>> jasper
> >>>> >>> > > >> >>>> >>>> is
> >>>> >>> > > >> >>>> >>>> >> not
> >>>> >>> > > >> >>>> >>>> >> > >>> written with that in mind. I had to
> change a
> >>>> >>> fairly
> >>>> >>> > > >> amount of
> >>>> >>> > > >> >>>> >>>> private
> >>>> >>> > > >> >>>> >>>> >> > >>> code to get it to work.
> >>>> >>> > > >> >>>> >>>> >> > >>>
> >>>> >>> > > >> >>>> >>>> >> > >>> musachy
> >>>> >>> > > >> >>>> >>>> >> > >>>
> >>>> >>> > > >> >>>> >>>> >> > >>> On Sun, Sep 27, 2009 at 12:50 PM,
> Antonio
> >>>> >>> Petrelli
> >>>> >>> > > >> >>>> >>>> >> > >>> <an...@gmail.com> wrote:
> >>>> >>> > > >> >>>> >>>> >> > >>>> 2009/9/27 Musachy Barroso <
> >>>> musachy@gmail.com>:
> >>>> >>> > > >> >>>> >>>> >> > >>>>> It is a missmatch between the
> jsp-apis.
> >>>> The
> >>>> >>> > > internal
> >>>> >>> > > >> jasper
> >>>> >>> > > >> >>>> >>>> >> implements
> >>>> >>> > > >> >>>> >>>> >> > >>>>> 2.0, while tomcat 6/jasper 6 implement
> >>>> 2.1, and
> >>>> >>> in
> >>>> >>> > > 2.1
> >>>> >>> > > >> >>>> there a
> >>>> >>> > > >> >>>> >>>> new
> >>>> >>> > > >> >>>> >>>> >> > >>>>> method called. It is not looking good.
> >>>> >>> > > >> >>>> >>>> >> > >>>>
> >>>> >>> > > >> >>>> >>>> >> > >>>> You might wish to use JarJar to
> repackage,
> >>>> to
> >>>> >>> avoid
> >>>> >>> > > >> >>>> conflicts
> >>>> >>> > > >> >>>> >>>> like
> >>>> >>> > > >> >>>> >>>> >> > >>>> this. Lots of people use them to avoid
> >>>> >>> dependencies,
> >>>> >>> > > >> like
> >>>> >>> > > >> >>>> >>>> >> > >>>> commons-logging.
> >>>> >>> > > >> >>>> >>>> >> > >>>> See:
> >>>> >>> > > >> >>>> >>>> >> > >>>>
> >>>> http://docs.atlassian.com/jarjar-maven-plugin/
> >>>> >>> > > >> >>>> >>>> >> > >>>>
> >>>> >>> > > >> >>>> >>>> >> > >>>> HTH
> >>>> >>> > > >> >>>> >>>> >> > >>>> Antonio
> >>>> >>> > > >> >>>> >>>> >> > >>>>
> >>>> >>> > > >> >>>> >>>> >> > >>>>
> >>>> >>> > > >> >>>> >>>> >>
> >>>> >>> > > >> >>>>
> >>>> >>> > >
> >>>> ---------------------------------------------------------------------
> >>>> >>> > > >> >>>> >>>> >> > >>>> To unsubscribe, e-mail:
> >>>> >>> > > >> dev-unsubscribe@struts.apache.org
> >>>> >>> > > >> >>>> >>>> >> > >>>> For additional commands, e-mail:
> >>>> >>> > > >> dev-help@struts.apache.org
> >>>> >>> > > >> >>>> >>>> >> > >>>>
> >>>> >>> > > >> >>>> >>>> >> > >>>>
> >>>> >>> > > >> >>>> >>>> >> > >>>
> >>>> >>> > > >> >>>> >>>> >> > >>>
> >>>> >>> > > >> >>>> >>>> >> > >>>
> >>>> >>> > > >> >>>> >>>> >> > >>> --
> >>>> >>> > > >> >>>> >>>> >> > >>> "Hey you! Would you help me to carry the
> >>>> stone?"
> >>>> >>> Pink
> >>>> >>> > > >> Floyd
> >>>> >>> > > >> >>>> >>>> >> > >>>
> >>>> >>> > > >> >>>> >>>> >> > >>
> >>>> >>> > > >> >>>> >>>> >> > >>
> >>>> >>> > > >> >>>> >>>> >> > >>
> >>>> >>> > > >> >>>> >>>> >> > >> --
> >>>> >>> > > >> >>>> >>>> >> > >> "Hey you! Would you help me to carry the
> >>>> stone?"
> >>>> >>> Pink
> >>>> >>> > > >> Floyd
> >>>> >>> > > >> >>>> >>>> >> > >>
> >>>> >>> > > >> >>>> >>>> >> > >
> >>>> >>> > > >> >>>> >>>> >> > >
> >>>> >>> > > >> >>>> >>>> >> > >
> >>>> >>> > > >> >>>> >>>> >> > > --
> >>>> >>> > > >> >>>> >>>> >> > > "Hey you! Would you help me to carry the
> >>>> stone?"
> >>>> >>> Pink
> >>>> >>> > > >> Floyd
> >>>> >>> > > >> >>>> >>>> >> > >
> >>>> >>> > > >> >>>> >>>> >> >
> >>>> >>> > > >> >>>> >>>> >> >
> >>>> >>> > > >> >>>> >>>> >> >
> >>>> >>> > > >> >>>> >>>> >> > --
> >>>> >>> > > >> >>>> >>>> >> > "Hey you! Would you help me to carry the
> stone?"
> >>>> Pink
> >>>> >>> > > Floyd
> >>>> >>> > > >> >>>> >>>> >> >
> >>>> >>> > > >> >>>> >>>> >> >
> >>>> >>> > > >> >>>>
> >>>> >>> > >
> >>>> ---------------------------------------------------------------------
> >>>> >>> > > >> >>>> >>>> >> > To unsubscribe, e-mail:
> >>>> >>> > > dev-unsubscribe@struts.apache.org
> >>>> >>> > > >> >>>> >>>> >> > For additional commands, e-mail:
> >>>> >>> > > dev-help@struts.apache.org
> >>>> >>> > > >> >>>> >>>> >> >
> >>>> >>> > > >> >>>> >>>> >>
> >>>> >>> > > >> >>>> >>>> >>
> >>>> >>> > > >>
> >>>> _________________________________________________________________
> >>>> >>> > > >> >>>> >>>> >> Lauren found her dream laptop. Find the PC
> that’s
> >>>> right
> >>>> >>> for
> >>>> >>> > > >> you.
> >>>> >>> > > >> >>>> >>>> >>
> >>>> >>> > > >>
> http://www.microsoft.com/windows/choosepc/?ocid=ftp_val_wl_290
> >>>> >>> > > >> >>>> >>>> >
> >>>> >>> > > >> >>>> >>>>
> >>>> >>> > > >> >>>> >>>>
> >>>> >>> > > >> >>>> >>>>
> >>>> >>> > > >> >>>> >>>> --
> >>>> >>> > > >> >>>> >>>> "Hey you! Would you help me to carry the stone?"
> Pink
> >>>> >>> Floyd
> >>>> >>> > > >> >>>> >>>>
> >>>> >>> > > >> >>>> >>>>
> >>>> >>> > > >>
> >>>> >>>
> ---------------------------------------------------------------------
> >>>> >>> > > >> >>>> >>>> To unsubscribe, e-mail:
> >>>> dev-unsubscribe@struts.apache.org
> >>>> >>> > > >> >>>> >>>> For additional commands, e-mail:
> >>>> >>> dev-help@struts.apache.org
> >>>> >>> > > >> >>>> >>>>
> >>>> >>> > > >> >>>> >>>>
> >>>> >>> > > >> >>>> >>>
> >>>> >>> > > >> >>>> >>
> >>>> >>> > > >> >>>> >
> >>>> >>> > > >> >>>> >
> >>>> >>> > > >> >>>> >
> >>>> >>> > > >> >>>> > --
> >>>> >>> > > >> >>>> > "Hey you! Would you help me to carry the stone?"
> Pink
> >>>> Floyd
> >>>> >>> > > >> >>>> >
> >>>> >>> > > >> >>>>
> >>>> >>> > > >> >>>>
> >>>> >>> > > >> >>>>
> >>>> >>> > > >> >>>> --
> >>>> >>> > > >> >>>> "Hey you! Would you help me to carry the stone?" Pink
> >>>> Floyd
> >>>> >>> > > >> >>>>
> >>>> >>> > > >> >>>>
> >>>> >>> > >
> >>>> ---------------------------------------------------------------------
> >>>> >>> > > >> >>>> To unsubscribe, e-mail:
> dev-unsubscribe@struts.apache.org
> >>>> >>> > > >> >>>> For additional commands, e-mail:
> >>>> dev-help@struts.apache.org
> >>>> >>> > > >> >>>>
> >>>> >>> > > >> >>>>
> >>>> >>> > > >> >>>
> >>>> >>> > > >> >>
> >>>> >>> > > >> >>
> >>>> >>> > > >> >>
> >>>> >>> > > >> >> --
> >>>> >>> > > >> >> "Hey you! Would you help me to carry the stone?" Pink
> Floyd
> >>>> >>> > > >> >>
> >>>> >>> > > >> >
> >>>> >>> > > >> >
> >>>> >>> > > >> >
> >>>> >>> > > >> > --
> >>>> >>> > > >> > "Hey you! Would you help me to carry the stone?" Pink
> Floyd
> >>>> >>> > > >> >
> >>>> >>> > > >>
> >>>> >>> > > >>
> >>>> >>> > > >>
> >>>> >>> > > >> --
> >>>> >>> > > >> "Hey you! Would you help me to carry the stone?" Pink Floyd
> >>>> >>> > > >>
> >>>> >>> > > >>
> >>>> >>>
> ---------------------------------------------------------------------
> >>>> >>> > > >> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> >>>> >>> > > >> For additional commands, e-mail:
> dev-help@struts.apache.org
> >>>> >>> > > >>
> >>>> >>> > > >>
> >>>> >>> > > >
> >>>> >>> > >
> >>>> >>> > >
> >>>> >>> > >
> >>>> >>> > > --
> >>>> >>> > > "Hey you! Would you help me to carry the stone?" Pink Floyd
> >>>> >>> > >
> >>>> >>> > >
> >>>> ---------------------------------------------------------------------
> >>>> >>> > > To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> >>>> >>> > > For additional commands, e-mail: dev-help@struts.apache.org
> >>>> >>> > >
> >>>> >>> > >
> >>>> >>>
> >>>> >>> _________________________________________________________________
> >>>> >>> Hotmail: Free, trusted and rich email service.
> >>>> >>> http://clk.atdmt.com/GBL/go/171222984/direct/01/
> >>>> >>>
> >>>> >>
> >>>> >
> >>>> >
> >>>> >
> >>>> > --
> >>>> > "Hey you! Would you help me to carry the stone?" Pink Floyd
> >>>> >
> >>>>
> >>>>
> >>>>
> >>>> --
> >>>> "Hey you! Would you help me to carry the stone?" Pink Floyd
> >>>>
> >>>> ---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> >>>> For additional commands, e-mail: dev-help@struts.apache.org
> >>>>
> >>>>
> >>>
> >>
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>
>

Re: embeddedJsp plugin causing jsp compilation issues

Posted by Musachy Barroso <mu...@gmail.com>.
I commited a fix (aka hack), and it seems to work in both tomcat and
jetty. basically, in JspFactory if the servlet passed as a param is
not one that the embedded jsp plugin created, then I delegate the call
to jasper's JspFactory. Let me know if it works.

musachy

On Tue, Nov 10, 2009 at 8:24 AM, Musachy Barroso <mu...@gmail.com> wrote:
> thanks Eric, I will take a look tonight.
>
> musachy
>
> On Tue, Nov 10, 2009 at 7:13 AM, Obinna <ob...@gmail.com> wrote:
>> Hi Musachy,
>>
>> There's another classloading conflict issue with the embedded jsp plugin.
>> This one has to do with the ELContextImpl.
>>
>> Loading an embedded jsp page that uses EL and then trying to load a normal
>> page that uses EL throws:
>>
>>     java.lang.ClassCastException:
>> org.apache.struts2.jasper.el.ELContextImpl cannot be cast to
>> org.apache.jasper.el.ELContextImpl
>>        at
>> org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:920)
>>
>> Again, the embedded jsp page seems to cache it's version of the
>> ELContextImpl ( ion PageContextImpl.proprietaryEvaluate) which tomcat then
>> tries to cast to it's own version.
>>
>> It looks like I could simply stop PageContextImpl from storing it's
>> generated EL context by modifying the getELContext() method, but I'm
>> guessing on a page/application with a lot of expressions that could hurt
>> quite a bit.
>>
>> - Eric
>>
>>
>>
>> On Tue, Oct 20, 2009 at 9:46 PM, Obinna <ob...@gmail.com> wrote:
>>
>>> Tested it and it works for me!
>>> Great! Thanks a million.
>>>
>>>  - Eric
>>>
>>> On Tue, Oct 20, 2009 at 9:13 PM, Musachy Barroso <mu...@gmail.com>wrote:
>>>
>>>> small fix to JspApplicationContextImpl seems to make it work for
>>>> me(add the hash of the classloader to the key), give it a try and let
>>>> me know (update from trunk)
>>>>
>>>> musachy
>>>>
>>>> On Tue, Oct 20, 2009 at 11:00 AM, Musachy Barroso <mu...@gmail.com>
>>>> wrote:
>>>> > ok I was able to reproduce it, working on it (looks hairy)
>>>> >
>>>> > musachy
>>>> >
>>>> > On Tue, Oct 20, 2009 at 7:01 AM, Obinna <ob...@gmail.com> wrote:
>>>> >> Ok, So I've been able to inspect the classloaders and I think I see
>>>> what's
>>>> >> going wrong (though I'm not sure how best to fix it).
>>>> >>
>>>> >> Given my two webapps, AppA and AppB running simulatenously in tomcat. I
>>>> do
>>>> >> the following:
>>>> >>
>>>> >>  1. Load AppA
>>>> >>     a. Load normal jsp page (breakpoint not caught -> still using
>>>> tomcat
>>>> >> default JspFactory)
>>>> >>     b. Load an embeddedJSP page
>>>> >>          i.  Breakpoint caught at static initializer in
>>>> JSPRuntimeContext
>>>> >> (line 96)   {calling JspFactory.setDefaultFactory(factory); to
>>>> initialize
>>>> >> JspFactory implementation}
>>>> >>               - JSPFactory classloader is StandardClassLoader (good)
>>>> >>               - JspFactoryImpl classloader is AppA WebAppClassloader
>>>> (good)
>>>> >>          ii. Breakpoint caught at JSPApplicationContextImpl (line 79)
>>>> >> {calling impl = new JspApplicationContextImpl() to initialize new
>>>> servlet
>>>> >> context}
>>>> >>              - JspFactoryImpl classloader is AppA WebAppClassloader
>>>> (good)
>>>> >>              - JSPApplicationContextImpl classloader is AppA
>>>> >> WebAppClassloader (good)
>>>> >>
>>>> >> 2. Load AppB
>>>> >>     a. Load normal jsp page
>>>> >>             i. Breakpoint caught at JSPApplicationContextImpl (line 79)
>>>> >> {calling impl = new JspApplicationContextImpl() to initialize new
>>>> servlet
>>>> >> context}. This means that is is still using the JspFactoryImpl set in
>>>> step
>>>> >> 1.b.i above
>>>> >>              - JspFactoryImpl classloader is AppA WebAppClassloader
>>>> >> (bad!!!  using class loaded in AppA classloader)   !!!!!
>>>> >>              - JSPApplicationContextImpl classloader is AppA
>>>> >> WebAppClassloader (bad!!!  using class loaded in AppA classloader)
>>>> !!!!!
>>>> >>     b. Load embedded jsp page
>>>> >>             JSPApplicationContextImpl (line 76) tries to call {
>>>> >> JspApplicationContextImpl impl = (JspApplicationContextImpl)
>>>> >> context.getAttribute(KEY); }   and throws ClassCastException because
>>>> impl
>>>> >> class returned by context.getAttribute(KEY) was loaded by
>>>> >> AppAWebAppClassLoader but current class (JspApplicationContextImpl)
>>>> class
>>>> >> loader is now AppB WebAppClassLoader.
>>>> >>
>>>> >> It is as I suspected in my last email. I don't think that the
>>>> JspFactoryImpl
>>>> >> class set by JspFactory.setDefaultFactory(factory) when AppA was loaded
>>>> >> should be the one used by AppB. Somehow the JspFactoryImpl used should
>>>> >> probably be isolated by web application and if possible should only be
>>>> used
>>>> >> by the embeddedJSP compiler (not used globally for normal jsps as well)
>>>> >>
>>>> >>  - Eric
>>>> >>
>>>> >>
>>>> >>
>>>> >> On Tue, Oct 20, 2009 at 2:41 PM, Martin Gainty <mg...@hotmail.com>
>>>> wrote:
>>>> >>
>>>> >>>
>>>> >>> Eric-
>>>> >>> are you able to determine which classloader JspApplicationContext is
>>>> using
>>>> >>> to load JspApplicationContextImpl class?
>>>> >>>         System.out.println("The class of " + JspApplicationContextImpl
>>>> +
>>>> >>>                            " is " +
>>>> >>> JspApplicationContextImpl.getClass().getName());
>>>> >>>         System.out.println("The classLoader of " +
>>>> >>> JspApplicationContextImpl +
>>>> >>>                            " is " +
>>>> >>> JspApplicationContextImpl.getClass().getClassloader());
>>>> >>>
>>>> >>> were you able to verify the Jsp configuration entries in
>>>> >>> $CATALINA_HOME/conf
>>>> >>>     <servlet>
>>>> >>>        <servlet-name>jsp</servlet-name>
>>>> >>>
>>>> <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
>>>> >>>        <load-on-startup>3</load-on-startup>
>>>> >>>    </servlet>
>>>> >>> what is meant by term 'embedded' ..can i assume you are implementing
>>>> APR
>>>> >>> (apache portable runtime)?
>>>> >>>
>>>> >>> thanks for taking the time to look at this,
>>>> >>> Martin Gainty
>>>> >>> ______________________________________________
>>>> >>> Verzicht und Vertraulichkeitanmerkung/Note de déni et de
>>>> confidentialité
>>>> >>>
>>>> >>> Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene
>>>> >>> Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede
>>>> unbefugte
>>>> >>> Weiterleitung oder Fertigung einer Kopie ist unzulaessig. Diese
>>>> Nachricht
>>>> >>> dient lediglich dem Austausch von Informationen und entfaltet keine
>>>> >>> rechtliche Bindungswirkung. Aufgrund der leichten Manipulierbarkeit
>>>> von
>>>> >>> E-Mails koennen wir keine Haftung fuer den Inhalt uebernehmen.
>>>> >>> Ce message est confidentiel et peut être privilégié. Si vous n'êtes
>>>> pas le
>>>> >>> destinataire prévu, nous te demandons avec bonté que pour satisfaire
>>>> >>> informez l'expéditeur. N'importe quelle diffusion non autorisée ou la
>>>> copie
>>>> >>> de ceci est interdite. Ce message sert à l'information seulement et
>>>> n'aura
>>>> >>> pas n'importe quel effet légalement obligatoire. Étant donné que les
>>>> email
>>>> >>> peuvent facilement être sujets à la manipulation, nous ne pouvons
>>>> accepter
>>>> >>> aucune responsabilité pour le contenu fourni.
>>>> >>>
>>>> >>>
>>>> >>>
>>>> >>>
>>>> >>> > Date: Tue, 20 Oct 2009 14:14:55 +0300
>>>> >>> > Subject: Re: embeddedJsp plugin causing jsp compilation issues
>>>> >>> > From: obinna@gmail.com
>>>> >>> > To: dev@struts.apache.org
>>>> >>> >
>>>> >>> > An update...
>>>> >>> >
>>>> >>> > I've tried setting a breakpoint in the
>>>> >>> > JspApplicationContextImpl.getInstance() method and the
>>>> >>> > JspFactoryImpl().getJspApplicationContext() methods but for some
>>>> reason
>>>> >>> > cannot inspect the variable at that point to figure out which
>>>> classloader
>>>> >>> > are being called when.
>>>> >>> >
>>>> >>> > What is clear is that once an embeddedJsp is loaded, the default
>>>> >>> JspFactory
>>>> >>> > for ALL jsp pages (even non-embedded ones) becomes the
>>>> >>> > org.apache.struts2.jasper.runtime.JspFactoryImpl (even for a
>>>> separate
>>>> >>> > web-app!) because loading subsequent non-embedded pages for the
>>>> first
>>>> >>> time
>>>> >>> > (in either web-app) still hits and break in the
>>>> >>> > JspApplicationContextImpl.getInstance() method. It seems like using
>>>> the
>>>> >>> > embeddedJsp calls JspFactory().setDefaultFactory() or something and
>>>> that
>>>> >>> > this has a system-wide scope.
>>>> >>> >
>>>> >>> > I don't suppose that this would be a problem if it wasn't for some
>>>> >>> > classloader mix-up which means that when I then try to access an
>>>> >>> embeddedJsp
>>>> >>> > page in the second web-app, in the
>>>> >>> JspApplicationContextImpl.getInstance()
>>>> >>> > method it finds the JspApplicationContextImpl instance that was set
>>>> >>> during
>>>> >>> > the loading of some initial pages (such as login page) in this
>>>> second app
>>>> >>> > but it seems that that must have been set by a different classloader
>>>> >>> because
>>>> >>> > the class cast fails when it tries to cast that instance (on the
>>>> line
>>>> >>> > JspApplicationContextImpl impl = (JspApplicationContextImpl)
>>>> >>> > context.getAttribute(KEY)).
>>>> >>> >
>>>> >>> > I will continue to try to figure out how to inspect the variables
>>>> (and
>>>> >>> see
>>>> >>> > the classloaders) in my IDE...
>>>> >>> >
>>>> >>> > - Eric
>>>> >>> >
>>>> >>> >
>>>> >>> >
>>>> >>> > On Sat, Oct 17, 2009 at 9:12 PM, Musachy Barroso <musachy@gmail.com
>>>> >
>>>> >>> wrote:
>>>> >>> >
>>>> >>> > > nothing so obvious, JspApplicationContextImpl is obviously getting
>>>> >>> > > loaded by different classloaders, but I am out of ideas, I think
>>>> you
>>>> >>> > > can set a break point for classloading right? Try to do that and
>>>> see
>>>> >>> > > if you get any insight.
>>>> >>> > >
>>>> >>> > > musachy
>>>> >>> > >
>>>> >>> > > On Sat, Oct 17, 2009 at 2:57 AM, Obinna <ob...@gmail.com> wrote:
>>>> >>> > > > I have a ton of jars in my lib (but no el-api). The lib for that
>>>> >>> projects
>>>> >>> > > > looks as follows (both projects have similar libs):
>>>> >>> > > >
>>>> >>> > > > asterisk-java-1.0.jar
>>>> >>> > > > cglib-nodep-2.1_3.jar
>>>> >>> > > > chartengineapi.jar
>>>> >>> > > > com.ibm.icu_4.0.1.v20090415.jar
>>>> >>> > > > commons-beanutils-1.7.0.jar
>>>> >>> > > > commons-cli-1.0.jar
>>>> >>> > > > commons-codec-1.3.jar
>>>> >>> > > > commons-collections-3.2.1.jar
>>>> >>> > > > commons-dbcp.jar
>>>> >>> > > > commons-digester-1.8.jar
>>>> >>> > > > commons-fileupload-1.2.1.jar
>>>> >>> > > > commons-httpclient-3.1.jar
>>>> >>> > > > commons-io-1.1.jar
>>>> >>> > > > commons-lang-2.4.0.jar
>>>> >>> > > > commons-logging.jar
>>>> >>> > > > commons-pool.jar
>>>> >>> > > > coreapi.jar
>>>> >>> > > > crosstabcoreapi.jar
>>>> >>> > > > dataadapterapi.jar
>>>> >>> > > > dataaggregationapi.jar
>>>> >>> > > > dataextraction.jar
>>>> >>> > > > displaytag-1.2.jar
>>>> >>> > > > displaytag-export-poi-1.2.jar
>>>> >>> > > > dteapi.jar
>>>> >>> > > > ecxconnect-mmp-bl.jar
>>>> >>> > > > emitterconfig.jar
>>>> >>> > > > engineapi.jar
>>>> >>> > > > flute.jar
>>>> >>> > > > *freemarker-2.3.15.jar*
>>>> >>> > > > gnu-hylafax-core-1.0.3.jar
>>>> >>> > > > gnu-hylafax-inet-ftp-1.0.3.jar
>>>> >>> > > > itext-1.3.jar
>>>> >>> > > > jasypt-1.4.1.x.jar
>>>> >>> > > > jaxws-spring-1.8.jar
>>>> >>> > > > jep-3.3.0-trial.jar
>>>> >>> > > > joda-time-1.6.jar
>>>> >>> > > > js.jar
>>>> >>> > > > json.jar
>>>> >>> > > > jsonplugin-0.33.jar
>>>> >>> > > > jstl.jar
>>>> >>> > > > junit-4.4.jar
>>>> >>> > > > log4j-1.2.8.jar
>>>> >>> > > > mail-1.4.2.jar
>>>> >>> > > > mmpdemo-bl.jar
>>>> >>> > > > modelapi.jar
>>>> >>> > > > modelodaapi.jar
>>>> >>> > > > mysql-connector-java-5.0.5-bin.jar
>>>> >>> > > > odadesignapi.jar
>>>> >>> > > > *ognl-2.7.3.jar*
>>>> >>> > > > org.apache.commons.codec_1.3.0.v20080530-1600.jar
>>>> >>> > > > org.eclipse.birt.report.model_2.5.0.v20090605.jar
>>>> >>> > > > org.eclipse.emf.common_2.5.0.v200906080927.jar
>>>> >>> > > > org.eclipse.emf.ecore_2.5.0.v200906080927.jar
>>>> >>> > > > org.eclipse.emf.ecore.xmi_2.5.0.v200906080927.jar
>>>> >>> > > > org.w3c.css.sac_1.3.0.v200805290154.jar
>>>> >>> > > > poi-3.0.2-FINAL-20080204.jar
>>>> >>> > > > scriptapi.jar
>>>> >>> > > > spring-2.5.6.jar
>>>> >>> > > > spring-security-core-2.0.4.jar
>>>> >>> > > > spring-security-taglibs-2.0.4.jar
>>>> >>> > > > spring-test-2.5.6.jar
>>>> >>> > > > spring-webmvc-2.5.6.jar
>>>> >>> > > > spring-ws-1.5.2.jar
>>>> >>> > > > standard.jar
>>>> >>> > > > *struts2-core-2.1.8.jar*
>>>> >>> > > > *struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar
>>>> >>> > > > *struts2-jquery-plugin-1.0.8.jar
>>>> >>> > > > struts2-scope-plugin-1.0.4 (modified).jar
>>>> >>> > > > *struts2-spring-plugin-2.1.8.jar*
>>>> >>> > > > tidy.jar
>>>> >>> > > > trilead-ssh2-build213.jar
>>>> >>> > > > webservices-api.jar
>>>> >>> > > > webservices-rt.jar
>>>> >>> > > > xbean-spring-3.1.jar
>>>> >>> > > > *xwork-core-2.1.6.jar*
>>>> >>> > > >
>>>> >>> > > > I haven't tried testing this on another 'trimmed down' project.
>>>> Let
>>>> >>> me
>>>> >>> > > know
>>>> >>> > > > if anything is glaringly obvious here, otherwise, I'll try the
>>>> >>> > > trimming-down
>>>> >>> > > >
>>>> >>> > > >  Thanks for looking through this!
>>>> >>> > > > - Eric
>>>> >>> > > >
>>>> >>> > > >
>>>> >>> > > > On Sat, Oct 17, 2009 at 2:52 AM, Musachy Barroso <
>>>> musachy@gmail.com>
>>>> >>> > > wrote:
>>>> >>> > > >
>>>> >>> > > >> nvm. el-api.jar should not be in lib, after removing them I
>>>> have to
>>>> >>> > > >> webapps with jsp plugin working. Can you compare your jars to:
>>>> >>> > > >>
>>>> >>> > > >>  commons-el-1.0.jar
>>>> >>> > > >>  commons-fileupload-1.2.1.jar
>>>> >>> > > >>  commons-io-1.3.2.jar
>>>> >>> > > >>  commons-logging-1.1.1.jar
>>>> >>> > > >>  freemarker-2.3.15.jar
>>>> >>> > > >>  ognl-2.7.3.jar
>>>> >>> > > >>  struts2-core-2.1.9-SNAPSHOT.jar
>>>> >>> > > >>  struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar
>>>> >>> > > >>  xwork-core-2.1.7-SNAPSHOT.jar
>>>> >>> > > >>
>>>> >>> > > >> and tell me the exact steps after you load the app, to
>>>> reproduce the
>>>> >>> > > error?
>>>> >>> > > >>
>>>> >>> > > >> thanks for helping me test this btw :)
>>>> >>> > > >> musachy
>>>> >>> > > >>
>>>> >>> > > >> On Fri, Oct 16, 2009 at 4:49 PM, Musachy Barroso <
>>>> musachy@gmail.com
>>>> >>> >
>>>> >>> > > >> wrote:
>>>> >>> > > >> > I am getting a different error:
>>>> >>> > > >> >
>>>> >>> > > >> > javax.servlet.ServletException: java.lang.LinkageError: Class
>>>> >>> > > >> > javax/el/ExpressionFactory violates loader constraints
>>>> >>> > > >> >
>>>> >>> > >  org.apache.jasper.servlet.JspServlet.service(JspServlet.java:275)
>>>> >>> > > >> >
>>>> >>>  javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>>>> >>> > > >> >
>>>> >>> > > >>
>>>> >>> > >
>>>> >>>
>>>>  org.apache.struts2.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:154)
>>>> >>> > > >> >
>>>> >>> > > >>
>>>> >>> > >
>>>> >>>
>>>>  org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186)
>>>> >>> > > >> >
>>>> >>> > > >>
>>>> >>> > >
>>>> >>>
>>>>  com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:362)
>>>> >>> > > >> >
>>>> >>> > > >>
>>>> >>> > >
>>>> >>>
>>>>  com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:266)
>>>> >>> > > >> >
>>>> >>> > > >>
>>>> >>> > >
>>>> >>>
>>>>  com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165)
>>>> >>> > > >> >
>>>> >>> > > >> > which looks even more weird. Here are the jars I have in
>>>> >>> web-inf/lib:
>>>> >>> > > >> >
>>>> >>> > > >> > commons-el-1.0.jar
>>>> >>> > > >> > commons-fileupload-1.2.1.jar
>>>> >>> > > >> > commons-io-1.3.2.jar
>>>> >>> > > >> > commons-logging-1.1.1.jar
>>>> >>> > > >> > el-api-6.0.18.jar
>>>> >>> > > >> > freemarker-2.3.15.jar
>>>> >>> > > >> > ognl-2.7.3.jar
>>>> >>> > > >> > struts2-core-2.1.9-SNAPSHOT.jar
>>>> >>> > > >> > struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar
>>>> >>> > > >> > testjar-1.0.jar
>>>> >>> > > >> > xwork-core-2.1.7-SNAPSHOT.jar
>>>> >>> > > >> >
>>>> >>> > > >> > That's on a default installation of tomcat 6.0.20. Can you
>>>> compare
>>>> >>> > > >> > that to your jars?
>>>> >>> > > >> >
>>>> >>> > > >> > musachy
>>>> >>> > > >> >
>>>> >>> > > >> > On Thu, Oct 15, 2009 at 8:57 AM, Musachy Barroso <
>>>> >>> musachy@gmail.com>
>>>> >>> > > >> wrote:
>>>> >>> > > >> >> pretty consistent :), I will try to take a look.
>>>> >>> > > >> >>
>>>> >>> > > >> >> musachy
>>>> >>> > > >> >>
>>>> >>> > > >> >> On Thu, Oct 15, 2009 at 8:23 AM, Obinna <ob...@gmail.com>
>>>> >>> wrote:
>>>> >>> > > >> >>> No I don't have any unusual jars in my shared lib (learnt
>>>> my
>>>> >>> lesson
>>>> >>> > > >> last
>>>> >>> > > >> >>> time :| - I have some jax-ws web-service api stuff in
>>>> endorsed
>>>> >>> but
>>>> >>> > > >> that's
>>>> >>> > > >> >>> all).
>>>> >>> > > >> >>>
>>>> >>> > > >> >>> Placing the plugin jar in the shared dir ('lib' for Tomcat
>>>> 6)
>>>> >>> > > results
>>>> >>> > > >> in
>>>> >>> > > >> >>> struts not being able to find the plugin config file and
>>>> >>> throwing
>>>> >>> > > the
>>>> >>> > > >> error:
>>>> >>> > > >> >>> "There is no result type defined for type 'embeddedJsp'..."
>>>> >>> > > >> >>>
>>>> >>> > > >> >>> Given this, it is somewhat strange that, placing it in the
>>>> >>> web-app
>>>> >>> > > libs
>>>> >>> > > >> *as
>>>> >>> > > >> >>> well as *the tomcat lib results in struts trying to load
>>>> the
>>>> >>> trying
>>>> >>> > > to
>>>> >>> > > >> load
>>>> >>> > > >> >>> the plugin config file twice and throwing the error during
>>>> >>> startup:
>>>> >>> > > >> >>>
>>>> >>> > > >> >>> The package name 'embeddedjsp-default' at location package
>>>> -
>>>> >>> > > >> >>>
>>>> >>> > > >>
>>>> >>> > >
>>>> >>>
>>>> jar:file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/wtpwebapps/test/WEB-INF/lib/struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar!/struts-plugin.xml:29:82
>>>> >>> > > >> >>> is already been used by another package at location package
>>>> -
>>>> >>> > > >> >>>
>>>> >>> > > >>
>>>> >>> > >
>>>> >>>
>>>> jar:file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/lib/struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar!/struts-plugin.xml:29:82
>>>> >>> > > >> >>> ....
>>>> >>> > > >> >>>
>>>> >>> > > >> >>> Thanks,
>>>> >>> > > >> >>>  - Eric
>>>> >>> > > >> >>>
>>>> >>> > > >> >>>
>>>> >>> > > >> >>>
>>>> >>> > > >> >>>
>>>> >>> > > >> >>> On Thu, Oct 15, 2009 at 5:59 PM, Musachy Barroso <
>>>> >>> musachy@gmail.com
>>>> >>> > > >
>>>> >>> > > >> wrote:
>>>> >>> > > >> >>>
>>>> >>> > > >> >>>> just for kicks, put the embeddedjsp plugin in the shared
>>>> dir,
>>>> >>> and
>>>> >>> > > see
>>>> >>> > > >> >>>> if it works.
>>>> >>> > > >> >>>>
>>>> >>> > > >> >>>> On Thu, Oct 15, 2009 at 7:58 AM, Musachy Barroso <
>>>> >>> > > musachy@gmail.com>
>>>> >>> > > >> >>>> wrote:
>>>> >>> > > >> >>>> > yeah that is kind of strange. do you have any of the
>>>> struts,
>>>> >>> or
>>>> >>> > > your
>>>> >>> > > >> >>>> > jars in the tomcat shared dir? even in that case it
>>>> should
>>>> >>> not
>>>> >>> > > >> matter.
>>>> >>> > > >> >>>> >
>>>> >>> > > >> >>>> > musachy
>>>> >>> > > >> >>>> >
>>>> >>> > > >> >>>> > On Thu, Oct 15, 2009 at 1:10 AM, Obinna <
>>>> obinna@gmail.com>
>>>> >>> > > wrote:
>>>> >>> > > >> >>>> >> There's another classloading issue with the embeddedJsp
>>>> >>> plugin.
>>>> >>> > > >> >>>> >>
>>>> >>> > > >> >>>> >> When deploying multiple webapps on the same tomcat
>>>> server,
>>>> >>> both
>>>> >>> > > of
>>>> >>> > > >> which
>>>> >>> > > >> >>>> >> utilize the embeddedJsp plugin. After loading embeddJsp
>>>> >>> pages in
>>>> >>> > > on
>>>> >>> > > >> web
>>>> >>> > > >> >>>> app,
>>>> >>> > > >> >>>> >> attempting to load any embeddedJsp pages in the second
>>>> >>> webapp
>>>> >>> > > >> throws the
>>>> >>> > > >> >>>> >> following exception:
>>>> >>> > > >> >>>> >>
>>>> >>> > > >> >>>> >> java.lang.ClassCastException:
>>>> >>> > > >> >>>> >>
>>>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl
>>>> >>> > > cannot
>>>> >>> > > >> be
>>>> >>> > > >> >>>> cast
>>>> >>> > > >> >>>> >> to
>>>> >>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl
>>>> >>> > > >> >>>> >>
>>>> >>> > > >> >>>> >>
>>>> >>> > > >> >>>>
>>>> >>> > > >>
>>>> >>> > >
>>>> >>>
>>>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl.getInstance(JspApplicationContextImpl.java:76)
>>>> >>> > > >> >>>> >>
>>>> >>> > > >> >>>> >>
>>>> >>> > > >> >>>>
>>>> >>> > > >>
>>>> >>> > >
>>>> >>>
>>>> org.apache.struts2.jasper.runtime.JspFactoryImpl.getJspApplicationContext(JspFactoryImpl.java:200)
>>>> >>> > > >> >>>> >>
>>>> >>> > > >> >>>> >>
>>>> >>> > > >> >>>>
>>>> >>> > > >>
>>>> >>> > >
>>>> >>>
>>>> org.apache.struts2.jsp.com.test.service.reporting.jsp.alert_jsp._jspInit(alert_jsp.java
>>>> >>> > > >> >>>> >> from :31)
>>>> >>> > > >> >>>> >>
>>>> >>> > > >> >>>>
>>>> >>> > > >>
>>>> >>>
>>>>  org.apache.struts2.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52)
>>>> >>> > > >> >>>> >>
>>>> >>> > >  org.apache.struts2.JSPLoader.createServlet(JSPLoader.java:112)
>>>> >>> > > >> >>>> >>    org.apache.struts2.JSPLoader.load(JSPLoader.java:90)
>>>> >>> > > >> >>>> >>
>>>> >>>  org.apache.struts2.ServletCache$1.call(ServletCache.java:46)
>>>> >>> > > >> >>>> >>
>>>> >>>  org.apache.struts2.ServletCache$1.call(ServletCache.java:44)
>>>> >>> > > >> >>>> >>
>>>> >>> > > >>
>>>>  java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>>>> >>> > > >> >>>> >>
>>>>  java.util.concurrent.FutureTask.run(FutureTask.java:138)
>>>> >>> > > >> >>>> >>
>>>>  org.apache.struts2.ServletCache.get(ServletCache.java:53)
>>>> >>> > > >> >>>> >>
>>>>  org.apache.struts2.JSPRuntime.handle(JSPRuntime.java:63)
>>>> >>> > > >> >>>> >>
>>>>  org.apache.struts2.JSPRuntime.handle(JSPRuntime.java:45)
>>>> >>> > > >> >>>> >>
>>>> >>> > > >> >>>> >>
>>>> >>> > > >> >>>>
>>>> >>> > > >>
>>>> >>> > >
>>>> >>>
>>>> org.apache.struts2.EmbeddedJSPResult.doExecute(EmbeddedJSPResult.java:32)
>>>> >>> > > >> >>>> >>
>>>> >>> > > >> >>>> >>
>>>> >>> > > >> >>>>
>>>> >>> > > >>
>>>> >>> > >
>>>> >>>
>>>> org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186).
>>>> >>> > > >> >>>> >>
>>>> >>> > > >> >>>> >> which is strange as i would have expected the
>>>> >>> > > >> JspApplicationContextImpl
>>>> >>> > > >> >>>> to
>>>> >>> > > >> >>>> >> be loaded and isolated by each web-application class
>>>> loader.
>>>> >>> > > >> >>>> >>
>>>> >>> > > >> >>>> >> Also, subsequent attempts to load non-embedded jsp page
>>>> then
>>>> >>> > > throw:
>>>> >>> > > >> >>>> >>
>>>> >>> > > >> >>>> >>
>>>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl
>>>> >>> > > cannot
>>>> >>> > > >> be
>>>> >>> > > >> >>>> cast
>>>> >>> > > >> >>>> >> to
>>>> >>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl
>>>> >>> > > >> >>>> >> at
>>>> >>> > > >> >>>> >>
>>>> >>> > > >> >>>>
>>>> >>> > > >>
>>>> >>> > >
>>>> >>>
>>>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl.getInstance(JspApplicationContextImpl.java:76)
>>>> >>> > > >> >>>> >>    at
>>>> >>> > > >> >>>> >>
>>>> >>> > > >> >>>>
>>>> >>> > > >>
>>>> >>> > >
>>>> >>>
>>>> org.apache.struts2.jasper.runtime.JspFactoryImpl.getJspApplicationContext(JspFactoryImpl.java:200)
>>>> >>> > > >> >>>> >>
>>>> >>> > > >> >>>> >>
>>>> >>> > > >> >>>> >> - Eric
>>>> >>> > > >> >>>> >>
>>>> >>> > > >> >>>> >>
>>>> >>> > > >> >>>> >>
>>>> >>> > > >> >>>> >>
>>>> >>> > > >> >>>> >> On Mon, Sep 28, 2009 at 11:05 AM, Obinna <
>>>> obinna@gmail.com>
>>>> >>> > > wrote:
>>>> >>> > > >> >>>> >>
>>>> >>> > > >> >>>> >>> Tested and work well. Couldn't resolve
>>>> >>> > > struts2-core.2.1.9-Snapshot
>>>> >>> > > >> >>>> maven
>>>> >>> > > >> >>>> >>> dependency so I used 2.1.8 though.
>>>> >>> > > >> >>>> >>> Closed jira ticket.
>>>> >>> > > >> >>>> >>> Thanks again!!  I hope everyone realizes how
>>>> >>> > > significant/powerful
>>>> >>> > > >> a
>>>> >>> > > >> >>>> plugin
>>>> >>> > > >> >>>> >>> this is.
>>>> >>> > > >> >>>> >>>
>>>> >>> > > >> >>>> >>> - Eric
>>>> >>> > > >> >>>> >>>
>>>> >>> > > >> >>>> >>>
>>>> >>> > > >> >>>> >>>
>>>> >>> > > >> >>>> >>> On Mon, Sep 28, 2009 at 9:07 AM, Musachy Barroso <
>>>> >>> > > >> musachy@gmail.com
>>>> >>> > > >> >>>> >wrote:
>>>> >>> > > >> >>>> >>>
>>>> >>> > > >> >>>> >>>> I should have done it with jasper 6 since the
>>>> beginning,
>>>> >>> but
>>>> >>> > > it
>>>> >>> > > >> seemed
>>>> >>> > > >> >>>> >>>> more difficult and my laziness took the best of me :)
>>>> >>> > > >> >>>> >>>>
>>>> >>> > > >> >>>> >>>> musachy
>>>> >>> > > >> >>>> >>>>
>>>> >>> > > >> >>>> >>>> On Sun, Sep 27, 2009 at 10:12 PM, Obinna <
>>>> >>> obinna@gmail.com>
>>>> >>> > > >> wrote:
>>>> >>> > > >> >>>> >>>> > Great!. Musachy, thanks a million for doing this so
>>>> >>> quickly.
>>>> >>> > > >> I'll
>>>> >>> > > >> >>>> give
>>>> >>> > > >> >>>> >>>> it a
>>>> >>> > > >> >>>> >>>> > test anon
>>>> >>> > > >> >>>> >>>> >
>>>> >>> > > >> >>>> >>>> >
>>>> >>> > > >> >>>> >>>> > On Mon, Sep 28, 2009 at 6:18 AM, Martin Gainty <
>>>> >>> > > >> mgainty@hotmail.com
>>>> >>> > > >> >>>> >
>>>> >>> > > >> >>>> >>>> wrote:
>>>> >>> > > >> >>>> >>>> >
>>>> >>> > > >> >>>> >>>> >>
>>>> >>> > > >> >>>> >>>> >> thanks for the headsup.. 2.1.8 builds now..
>>>> >>> > > >> >>>> >>>> >> I had wrong version of commons-collections
>>>> ListUtils
>>>> >>> not
>>>> >>> > > >> having
>>>> >>> > > >> >>>> >>>> >> isEqualList(collection,collection)
>>>> >>> > > >> >>>> >>>> >>        <dependency>
>>>> >>> > > >> >>>> >>>> >>
>>>> >>> > > >>  <groupId>org.apache.commons.collections</groupId>
>>>> >>> > > >> >>>> >>>> >>
>>>> >>>  <artifactId>commons-collections</artifactId>
>>>> >>> > > >> >>>> >>>> >>                <version>3.2.1</version>
>>>> >>> > > >> >>>> >>>> >>        </dependency>
>>>> >>> > > >> >>>> >>>> >> pulls correct version
>>>> >>> > > >> >>>> >>>> >>
>>>> >>> > > >> >>>> >>>> >> seeing some failures in surefire..(too many to
>>>> count on
>>>> >>> one
>>>> >>> > > >> hand
>>>> >>> > > >> >>>> will
>>>> >>> > > >> >>>> >>>> take
>>>> >>> > > >> >>>> >>>> >> a look tommorrow)
>>>> >>> > > >> >>>> >>>> >> thanks,
>>>> >>> > > >> >>>> >>>> >> Martin Gainty
>>>> >>> > > >> >>>> >>>> >> ______________________________________________
>>>> >>> > > >> >>>> >>>> >> Standard Caveats apply
>>>> >>> > > >> >>>> >>>> >>
>>>> >>> > > >> >>>> >>>> >>
>>>> >>> > > >> >>>> >>>> >>
>>>> >>> > > >> >>>> >>>> >>
>>>> >>> > > >> >>>> >>>> >> > Date: Sun, 27 Sep 2009 19:00:12 -0700
>>>> >>> > > >> >>>> >>>> >> > Subject: Re: embeddedJsp plugin causing jsp
>>>> >>> compilation
>>>> >>> > > >> issues
>>>> >>> > > >> >>>> >>>> >> > From: musachy@gmail.com
>>>> >>> > > >> >>>> >>>> >> > To: dev@struts.apache.org
>>>> >>> > > >> >>>> >>>> >> >
>>>> >>> > > >> >>>> >>>> >> > a'right. The code is in trunk. To use the plugin
>>>> with
>>>> >>> > > >> tomcat,
>>>> >>> > > >> >>>> just
>>>> >>> > > >> >>>> >>>> >> > build it and deploy it as usual. It works with
>>>> Jetty
>>>> >>> 7+,
>>>> >>> > > >> which
>>>> >>> > > >> >>>> needs
>>>> >>> > > >> >>>> >>>> >> > the tomcat deps added to the application, adding
>>>> this
>>>> >>> to
>>>> >>> > > >> your pom
>>>> >>> > > >> >>>> >>>> will
>>>> >>> > > >> >>>> >>>> >> > take care of it:
>>>> >>> > > >> >>>> >>>> >> >
>>>> >>> > > >> >>>> >>>> >> > <dependency>
>>>> >>> > > >> >>>> >>>> >> >        <groupId>org.apache.tomcat</groupId>
>>>> >>> > > >> >>>> >>>> >> >        <artifactId>jasper</artifactId>
>>>> >>> > > >> >>>> >>>> >> >        <version>6.0.18</version>
>>>> >>> > > >> >>>> >>>> >> > </dependency>
>>>> >>> > > >> >>>> >>>> >> >
>>>> >>> > > >> >>>> >>>> >> > let me know if it works.
>>>> >>> > > >> >>>> >>>> >> >
>>>> >>> > > >> >>>> >>>> >> > musachy
>>>> >>> > > >> >>>> >>>> >> >
>>>> >>> > > >> >>>> >>>> >> > On Sun, Sep 27, 2009 at 6:34 PM, Musachy Barroso
>>>> <
>>>> >>> > > >> >>>> musachy@gmail.com>
>>>> >>> > > >> >>>> >>>> >> wrote:
>>>> >>> > > >> >>>> >>>> >> > > it works on tomcat but now it breaks in
>>>> jetty...oh
>>>> >>> joy.
>>>> >>> > > >> >>>> >>>> >> > >
>>>> >>> > > >> >>>> >>>> >> > > On Sun, Sep 27, 2009 at 2:35 PM, Musachy
>>>> Barroso <
>>>> >>> > > >> >>>> >>>> musachy@gmail.com>
>>>> >>> > > >> >>>> >>>> >> wrote:
>>>> >>> > > >> >>>> >>>> >> > >> ok I got jasper 6 working. I will do some
>>>> more
>>>> >>> testing
>>>> >>> > > >> (at
>>>> >>> > > >> >>>> least
>>>> >>> > > >> >>>> >>>> the
>>>> >>> > > >> >>>> >>>> >> > >> junits run fine), commit the jasper code, and
>>>> then
>>>> >>> > > commit
>>>> >>> > > >> my
>>>> >>> > > >> >>>> >>>> changes.
>>>> >>> > > >> >>>> >>>> >> > >> (later on)
>>>> >>> > > >> >>>> >>>> >> > >>
>>>> >>> > > >> >>>> >>>> >> > >> musachy
>>>> >>> > > >> >>>> >>>> >> > >>
>>>> >>> > > >> >>>> >>>> >> > >> On Sun, Sep 27, 2009 at 12:56 PM, Musachy
>>>> Barroso
>>>> >>> <
>>>> >>> > > >> >>>> >>>> musachy@gmail.com>
>>>> >>> > > >> >>>> >>>> >> wrote:
>>>> >>> > > >> >>>> >>>> >> > >>> yeah that would work if I could use it as a
>>>> >>> library,
>>>> >>> > > but
>>>> >>> > > >> >>>> jasper
>>>> >>> > > >> >>>> >>>> is
>>>> >>> > > >> >>>> >>>> >> not
>>>> >>> > > >> >>>> >>>> >> > >>> written with that in mind. I had to change a
>>>> >>> fairly
>>>> >>> > > >> amount of
>>>> >>> > > >> >>>> >>>> private
>>>> >>> > > >> >>>> >>>> >> > >>> code to get it to work.
>>>> >>> > > >> >>>> >>>> >> > >>>
>>>> >>> > > >> >>>> >>>> >> > >>> musachy
>>>> >>> > > >> >>>> >>>> >> > >>>
>>>> >>> > > >> >>>> >>>> >> > >>> On Sun, Sep 27, 2009 at 12:50 PM, Antonio
>>>> >>> Petrelli
>>>> >>> > > >> >>>> >>>> >> > >>> <an...@gmail.com> wrote:
>>>> >>> > > >> >>>> >>>> >> > >>>> 2009/9/27 Musachy Barroso <
>>>> musachy@gmail.com>:
>>>> >>> > > >> >>>> >>>> >> > >>>>> It is a missmatch between the jsp-apis.
>>>> The
>>>> >>> > > internal
>>>> >>> > > >> jasper
>>>> >>> > > >> >>>> >>>> >> implements
>>>> >>> > > >> >>>> >>>> >> > >>>>> 2.0, while tomcat 6/jasper 6 implement
>>>> 2.1, and
>>>> >>> in
>>>> >>> > > 2.1
>>>> >>> > > >> >>>> there a
>>>> >>> > > >> >>>> >>>> new
>>>> >>> > > >> >>>> >>>> >> > >>>>> method called. It is not looking good.
>>>> >>> > > >> >>>> >>>> >> > >>>>
>>>> >>> > > >> >>>> >>>> >> > >>>> You might wish to use JarJar to repackage,
>>>> to
>>>> >>> avoid
>>>> >>> > > >> >>>> conflicts
>>>> >>> > > >> >>>> >>>> like
>>>> >>> > > >> >>>> >>>> >> > >>>> this. Lots of people use them to avoid
>>>> >>> dependencies,
>>>> >>> > > >> like
>>>> >>> > > >> >>>> >>>> >> > >>>> commons-logging.
>>>> >>> > > >> >>>> >>>> >> > >>>> See:
>>>> >>> > > >> >>>> >>>> >> > >>>>
>>>> http://docs.atlassian.com/jarjar-maven-plugin/
>>>> >>> > > >> >>>> >>>> >> > >>>>
>>>> >>> > > >> >>>> >>>> >> > >>>> HTH
>>>> >>> > > >> >>>> >>>> >> > >>>> Antonio
>>>> >>> > > >> >>>> >>>> >> > >>>>
>>>> >>> > > >> >>>> >>>> >> > >>>>
>>>> >>> > > >> >>>> >>>> >>
>>>> >>> > > >> >>>>
>>>> >>> > >
>>>> ---------------------------------------------------------------------
>>>> >>> > > >> >>>> >>>> >> > >>>> To unsubscribe, e-mail:
>>>> >>> > > >> dev-unsubscribe@struts.apache.org
>>>> >>> > > >> >>>> >>>> >> > >>>> For additional commands, e-mail:
>>>> >>> > > >> dev-help@struts.apache.org
>>>> >>> > > >> >>>> >>>> >> > >>>>
>>>> >>> > > >> >>>> >>>> >> > >>>>
>>>> >>> > > >> >>>> >>>> >> > >>>
>>>> >>> > > >> >>>> >>>> >> > >>>
>>>> >>> > > >> >>>> >>>> >> > >>>
>>>> >>> > > >> >>>> >>>> >> > >>> --
>>>> >>> > > >> >>>> >>>> >> > >>> "Hey you! Would you help me to carry the
>>>> stone?"
>>>> >>> Pink
>>>> >>> > > >> Floyd
>>>> >>> > > >> >>>> >>>> >> > >>>
>>>> >>> > > >> >>>> >>>> >> > >>
>>>> >>> > > >> >>>> >>>> >> > >>
>>>> >>> > > >> >>>> >>>> >> > >>
>>>> >>> > > >> >>>> >>>> >> > >> --
>>>> >>> > > >> >>>> >>>> >> > >> "Hey you! Would you help me to carry the
>>>> stone?"
>>>> >>> Pink
>>>> >>> > > >> Floyd
>>>> >>> > > >> >>>> >>>> >> > >>
>>>> >>> > > >> >>>> >>>> >> > >
>>>> >>> > > >> >>>> >>>> >> > >
>>>> >>> > > >> >>>> >>>> >> > >
>>>> >>> > > >> >>>> >>>> >> > > --
>>>> >>> > > >> >>>> >>>> >> > > "Hey you! Would you help me to carry the
>>>> stone?"
>>>> >>> Pink
>>>> >>> > > >> Floyd
>>>> >>> > > >> >>>> >>>> >> > >
>>>> >>> > > >> >>>> >>>> >> >
>>>> >>> > > >> >>>> >>>> >> >
>>>> >>> > > >> >>>> >>>> >> >
>>>> >>> > > >> >>>> >>>> >> > --
>>>> >>> > > >> >>>> >>>> >> > "Hey you! Would you help me to carry the stone?"
>>>> Pink
>>>> >>> > > Floyd
>>>> >>> > > >> >>>> >>>> >> >
>>>> >>> > > >> >>>> >>>> >> >
>>>> >>> > > >> >>>>
>>>> >>> > >
>>>> ---------------------------------------------------------------------
>>>> >>> > > >> >>>> >>>> >> > To unsubscribe, e-mail:
>>>> >>> > > dev-unsubscribe@struts.apache.org
>>>> >>> > > >> >>>> >>>> >> > For additional commands, e-mail:
>>>> >>> > > dev-help@struts.apache.org
>>>> >>> > > >> >>>> >>>> >> >
>>>> >>> > > >> >>>> >>>> >>
>>>> >>> > > >> >>>> >>>> >>
>>>> >>> > > >>
>>>> _________________________________________________________________
>>>> >>> > > >> >>>> >>>> >> Lauren found her dream laptop. Find the PC that’s
>>>> right
>>>> >>> for
>>>> >>> > > >> you.
>>>> >>> > > >> >>>> >>>> >>
>>>> >>> > > >> http://www.microsoft.com/windows/choosepc/?ocid=ftp_val_wl_290
>>>> >>> > > >> >>>> >>>> >
>>>> >>> > > >> >>>> >>>>
>>>> >>> > > >> >>>> >>>>
>>>> >>> > > >> >>>> >>>>
>>>> >>> > > >> >>>> >>>> --
>>>> >>> > > >> >>>> >>>> "Hey you! Would you help me to carry the stone?" Pink
>>>> >>> Floyd
>>>> >>> > > >> >>>> >>>>
>>>> >>> > > >> >>>> >>>>
>>>> >>> > > >>
>>>> >>> ---------------------------------------------------------------------
>>>> >>> > > >> >>>> >>>> To unsubscribe, e-mail:
>>>> dev-unsubscribe@struts.apache.org
>>>> >>> > > >> >>>> >>>> For additional commands, e-mail:
>>>> >>> dev-help@struts.apache.org
>>>> >>> > > >> >>>> >>>>
>>>> >>> > > >> >>>> >>>>
>>>> >>> > > >> >>>> >>>
>>>> >>> > > >> >>>> >>
>>>> >>> > > >> >>>> >
>>>> >>> > > >> >>>> >
>>>> >>> > > >> >>>> >
>>>> >>> > > >> >>>> > --
>>>> >>> > > >> >>>> > "Hey you! Would you help me to carry the stone?" Pink
>>>> Floyd
>>>> >>> > > >> >>>> >
>>>> >>> > > >> >>>>
>>>> >>> > > >> >>>>
>>>> >>> > > >> >>>>
>>>> >>> > > >> >>>> --
>>>> >>> > > >> >>>> "Hey you! Would you help me to carry the stone?" Pink
>>>> Floyd
>>>> >>> > > >> >>>>
>>>> >>> > > >> >>>>
>>>> >>> > >
>>>> ---------------------------------------------------------------------
>>>> >>> > > >> >>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>> >>> > > >> >>>> For additional commands, e-mail:
>>>> dev-help@struts.apache.org
>>>> >>> > > >> >>>>
>>>> >>> > > >> >>>>
>>>> >>> > > >> >>>
>>>> >>> > > >> >>
>>>> >>> > > >> >>
>>>> >>> > > >> >>
>>>> >>> > > >> >> --
>>>> >>> > > >> >> "Hey you! Would you help me to carry the stone?" Pink Floyd
>>>> >>> > > >> >>
>>>> >>> > > >> >
>>>> >>> > > >> >
>>>> >>> > > >> >
>>>> >>> > > >> > --
>>>> >>> > > >> > "Hey you! Would you help me to carry the stone?" Pink Floyd
>>>> >>> > > >> >
>>>> >>> > > >>
>>>> >>> > > >>
>>>> >>> > > >>
>>>> >>> > > >> --
>>>> >>> > > >> "Hey you! Would you help me to carry the stone?" Pink Floyd
>>>> >>> > > >>
>>>> >>> > > >>
>>>> >>> ---------------------------------------------------------------------
>>>> >>> > > >> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>> >>> > > >> For additional commands, e-mail: dev-help@struts.apache.org
>>>> >>> > > >>
>>>> >>> > > >>
>>>> >>> > > >
>>>> >>> > >
>>>> >>> > >
>>>> >>> > >
>>>> >>> > > --
>>>> >>> > > "Hey you! Would you help me to carry the stone?" Pink Floyd
>>>> >>> > >
>>>> >>> > >
>>>> ---------------------------------------------------------------------
>>>> >>> > > To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>> >>> > > For additional commands, e-mail: dev-help@struts.apache.org
>>>> >>> > >
>>>> >>> > >
>>>> >>>
>>>> >>> _________________________________________________________________
>>>> >>> Hotmail: Free, trusted and rich email service.
>>>> >>> http://clk.atdmt.com/GBL/go/171222984/direct/01/
>>>> >>>
>>>> >>
>>>> >
>>>> >
>>>> >
>>>> > --
>>>> > "Hey you! Would you help me to carry the stone?" Pink Floyd
>>>> >
>>>>
>>>>
>>>>
>>>> --
>>>> "Hey you! Would you help me to carry the stone?" Pink Floyd
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>>
>>>>
>>>
>>
>

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


Re: embeddedJsp plugin causing jsp compilation issues

Posted by Musachy Barroso <mu...@gmail.com>.
thanks Eric, I will take a look tonight.

musachy

On Tue, Nov 10, 2009 at 7:13 AM, Obinna <ob...@gmail.com> wrote:
> Hi Musachy,
>
> There's another classloading conflict issue with the embedded jsp plugin.
> This one has to do with the ELContextImpl.
>
> Loading an embedded jsp page that uses EL and then trying to load a normal
> page that uses EL throws:
>
>     java.lang.ClassCastException:
> org.apache.struts2.jasper.el.ELContextImpl cannot be cast to
> org.apache.jasper.el.ELContextImpl
>        at
> org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:920)
>
> Again, the embedded jsp page seems to cache it's version of the
> ELContextImpl ( ion PageContextImpl.proprietaryEvaluate) which tomcat then
> tries to cast to it's own version.
>
> It looks like I could simply stop PageContextImpl from storing it's
> generated EL context by modifying the getELContext() method, but I'm
> guessing on a page/application with a lot of expressions that could hurt
> quite a bit.
>
> - Eric
>
>
>
> On Tue, Oct 20, 2009 at 9:46 PM, Obinna <ob...@gmail.com> wrote:
>
>> Tested it and it works for me!
>> Great! Thanks a million.
>>
>>  - Eric
>>
>> On Tue, Oct 20, 2009 at 9:13 PM, Musachy Barroso <mu...@gmail.com>wrote:
>>
>>> small fix to JspApplicationContextImpl seems to make it work for
>>> me(add the hash of the classloader to the key), give it a try and let
>>> me know (update from trunk)
>>>
>>> musachy
>>>
>>> On Tue, Oct 20, 2009 at 11:00 AM, Musachy Barroso <mu...@gmail.com>
>>> wrote:
>>> > ok I was able to reproduce it, working on it (looks hairy)
>>> >
>>> > musachy
>>> >
>>> > On Tue, Oct 20, 2009 at 7:01 AM, Obinna <ob...@gmail.com> wrote:
>>> >> Ok, So I've been able to inspect the classloaders and I think I see
>>> what's
>>> >> going wrong (though I'm not sure how best to fix it).
>>> >>
>>> >> Given my two webapps, AppA and AppB running simulatenously in tomcat. I
>>> do
>>> >> the following:
>>> >>
>>> >>  1. Load AppA
>>> >>     a. Load normal jsp page (breakpoint not caught -> still using
>>> tomcat
>>> >> default JspFactory)
>>> >>     b. Load an embeddedJSP page
>>> >>          i.  Breakpoint caught at static initializer in
>>> JSPRuntimeContext
>>> >> (line 96)   {calling JspFactory.setDefaultFactory(factory); to
>>> initialize
>>> >> JspFactory implementation}
>>> >>               - JSPFactory classloader is StandardClassLoader (good)
>>> >>               - JspFactoryImpl classloader is AppA WebAppClassloader
>>> (good)
>>> >>          ii. Breakpoint caught at JSPApplicationContextImpl (line 79)
>>> >> {calling impl = new JspApplicationContextImpl() to initialize new
>>> servlet
>>> >> context}
>>> >>              - JspFactoryImpl classloader is AppA WebAppClassloader
>>> (good)
>>> >>              - JSPApplicationContextImpl classloader is AppA
>>> >> WebAppClassloader (good)
>>> >>
>>> >> 2. Load AppB
>>> >>     a. Load normal jsp page
>>> >>             i. Breakpoint caught at JSPApplicationContextImpl (line 79)
>>> >> {calling impl = new JspApplicationContextImpl() to initialize new
>>> servlet
>>> >> context}. This means that is is still using the JspFactoryImpl set in
>>> step
>>> >> 1.b.i above
>>> >>              - JspFactoryImpl classloader is AppA WebAppClassloader
>>> >> (bad!!!  using class loaded in AppA classloader)   !!!!!
>>> >>              - JSPApplicationContextImpl classloader is AppA
>>> >> WebAppClassloader (bad!!!  using class loaded in AppA classloader)
>>> !!!!!
>>> >>     b. Load embedded jsp page
>>> >>             JSPApplicationContextImpl (line 76) tries to call {
>>> >> JspApplicationContextImpl impl = (JspApplicationContextImpl)
>>> >> context.getAttribute(KEY); }   and throws ClassCastException because
>>> impl
>>> >> class returned by context.getAttribute(KEY) was loaded by
>>> >> AppAWebAppClassLoader but current class (JspApplicationContextImpl)
>>> class
>>> >> loader is now AppB WebAppClassLoader.
>>> >>
>>> >> It is as I suspected in my last email. I don't think that the
>>> JspFactoryImpl
>>> >> class set by JspFactory.setDefaultFactory(factory) when AppA was loaded
>>> >> should be the one used by AppB. Somehow the JspFactoryImpl used should
>>> >> probably be isolated by web application and if possible should only be
>>> used
>>> >> by the embeddedJSP compiler (not used globally for normal jsps as well)
>>> >>
>>> >>  - Eric
>>> >>
>>> >>
>>> >>
>>> >> On Tue, Oct 20, 2009 at 2:41 PM, Martin Gainty <mg...@hotmail.com>
>>> wrote:
>>> >>
>>> >>>
>>> >>> Eric-
>>> >>> are you able to determine which classloader JspApplicationContext is
>>> using
>>> >>> to load JspApplicationContextImpl class?
>>> >>>         System.out.println("The class of " + JspApplicationContextImpl
>>> +
>>> >>>                            " is " +
>>> >>> JspApplicationContextImpl.getClass().getName());
>>> >>>         System.out.println("The classLoader of " +
>>> >>> JspApplicationContextImpl +
>>> >>>                            " is " +
>>> >>> JspApplicationContextImpl.getClass().getClassloader());
>>> >>>
>>> >>> were you able to verify the Jsp configuration entries in
>>> >>> $CATALINA_HOME/conf
>>> >>>     <servlet>
>>> >>>        <servlet-name>jsp</servlet-name>
>>> >>>
>>> <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
>>> >>>        <load-on-startup>3</load-on-startup>
>>> >>>    </servlet>
>>> >>> what is meant by term 'embedded' ..can i assume you are implementing
>>> APR
>>> >>> (apache portable runtime)?
>>> >>>
>>> >>> thanks for taking the time to look at this,
>>> >>> Martin Gainty
>>> >>> ______________________________________________
>>> >>> Verzicht und Vertraulichkeitanmerkung/Note de déni et de
>>> confidentialité
>>> >>>
>>> >>> Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene
>>> >>> Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede
>>> unbefugte
>>> >>> Weiterleitung oder Fertigung einer Kopie ist unzulaessig. Diese
>>> Nachricht
>>> >>> dient lediglich dem Austausch von Informationen und entfaltet keine
>>> >>> rechtliche Bindungswirkung. Aufgrund der leichten Manipulierbarkeit
>>> von
>>> >>> E-Mails koennen wir keine Haftung fuer den Inhalt uebernehmen.
>>> >>> Ce message est confidentiel et peut être privilégié. Si vous n'êtes
>>> pas le
>>> >>> destinataire prévu, nous te demandons avec bonté que pour satisfaire
>>> >>> informez l'expéditeur. N'importe quelle diffusion non autorisée ou la
>>> copie
>>> >>> de ceci est interdite. Ce message sert à l'information seulement et
>>> n'aura
>>> >>> pas n'importe quel effet légalement obligatoire. Étant donné que les
>>> email
>>> >>> peuvent facilement être sujets à la manipulation, nous ne pouvons
>>> accepter
>>> >>> aucune responsabilité pour le contenu fourni.
>>> >>>
>>> >>>
>>> >>>
>>> >>>
>>> >>> > Date: Tue, 20 Oct 2009 14:14:55 +0300
>>> >>> > Subject: Re: embeddedJsp plugin causing jsp compilation issues
>>> >>> > From: obinna@gmail.com
>>> >>> > To: dev@struts.apache.org
>>> >>> >
>>> >>> > An update...
>>> >>> >
>>> >>> > I've tried setting a breakpoint in the
>>> >>> > JspApplicationContextImpl.getInstance() method and the
>>> >>> > JspFactoryImpl().getJspApplicationContext() methods but for some
>>> reason
>>> >>> > cannot inspect the variable at that point to figure out which
>>> classloader
>>> >>> > are being called when.
>>> >>> >
>>> >>> > What is clear is that once an embeddedJsp is loaded, the default
>>> >>> JspFactory
>>> >>> > for ALL jsp pages (even non-embedded ones) becomes the
>>> >>> > org.apache.struts2.jasper.runtime.JspFactoryImpl (even for a
>>> separate
>>> >>> > web-app!) because loading subsequent non-embedded pages for the
>>> first
>>> >>> time
>>> >>> > (in either web-app) still hits and break in the
>>> >>> > JspApplicationContextImpl.getInstance() method. It seems like using
>>> the
>>> >>> > embeddedJsp calls JspFactory().setDefaultFactory() or something and
>>> that
>>> >>> > this has a system-wide scope.
>>> >>> >
>>> >>> > I don't suppose that this would be a problem if it wasn't for some
>>> >>> > classloader mix-up which means that when I then try to access an
>>> >>> embeddedJsp
>>> >>> > page in the second web-app, in the
>>> >>> JspApplicationContextImpl.getInstance()
>>> >>> > method it finds the JspApplicationContextImpl instance that was set
>>> >>> during
>>> >>> > the loading of some initial pages (such as login page) in this
>>> second app
>>> >>> > but it seems that that must have been set by a different classloader
>>> >>> because
>>> >>> > the class cast fails when it tries to cast that instance (on the
>>> line
>>> >>> > JspApplicationContextImpl impl = (JspApplicationContextImpl)
>>> >>> > context.getAttribute(KEY)).
>>> >>> >
>>> >>> > I will continue to try to figure out how to inspect the variables
>>> (and
>>> >>> see
>>> >>> > the classloaders) in my IDE...
>>> >>> >
>>> >>> > - Eric
>>> >>> >
>>> >>> >
>>> >>> >
>>> >>> > On Sat, Oct 17, 2009 at 9:12 PM, Musachy Barroso <musachy@gmail.com
>>> >
>>> >>> wrote:
>>> >>> >
>>> >>> > > nothing so obvious, JspApplicationContextImpl is obviously getting
>>> >>> > > loaded by different classloaders, but I am out of ideas, I think
>>> you
>>> >>> > > can set a break point for classloading right? Try to do that and
>>> see
>>> >>> > > if you get any insight.
>>> >>> > >
>>> >>> > > musachy
>>> >>> > >
>>> >>> > > On Sat, Oct 17, 2009 at 2:57 AM, Obinna <ob...@gmail.com> wrote:
>>> >>> > > > I have a ton of jars in my lib (but no el-api). The lib for that
>>> >>> projects
>>> >>> > > > looks as follows (both projects have similar libs):
>>> >>> > > >
>>> >>> > > > asterisk-java-1.0.jar
>>> >>> > > > cglib-nodep-2.1_3.jar
>>> >>> > > > chartengineapi.jar
>>> >>> > > > com.ibm.icu_4.0.1.v20090415.jar
>>> >>> > > > commons-beanutils-1.7.0.jar
>>> >>> > > > commons-cli-1.0.jar
>>> >>> > > > commons-codec-1.3.jar
>>> >>> > > > commons-collections-3.2.1.jar
>>> >>> > > > commons-dbcp.jar
>>> >>> > > > commons-digester-1.8.jar
>>> >>> > > > commons-fileupload-1.2.1.jar
>>> >>> > > > commons-httpclient-3.1.jar
>>> >>> > > > commons-io-1.1.jar
>>> >>> > > > commons-lang-2.4.0.jar
>>> >>> > > > commons-logging.jar
>>> >>> > > > commons-pool.jar
>>> >>> > > > coreapi.jar
>>> >>> > > > crosstabcoreapi.jar
>>> >>> > > > dataadapterapi.jar
>>> >>> > > > dataaggregationapi.jar
>>> >>> > > > dataextraction.jar
>>> >>> > > > displaytag-1.2.jar
>>> >>> > > > displaytag-export-poi-1.2.jar
>>> >>> > > > dteapi.jar
>>> >>> > > > ecxconnect-mmp-bl.jar
>>> >>> > > > emitterconfig.jar
>>> >>> > > > engineapi.jar
>>> >>> > > > flute.jar
>>> >>> > > > *freemarker-2.3.15.jar*
>>> >>> > > > gnu-hylafax-core-1.0.3.jar
>>> >>> > > > gnu-hylafax-inet-ftp-1.0.3.jar
>>> >>> > > > itext-1.3.jar
>>> >>> > > > jasypt-1.4.1.x.jar
>>> >>> > > > jaxws-spring-1.8.jar
>>> >>> > > > jep-3.3.0-trial.jar
>>> >>> > > > joda-time-1.6.jar
>>> >>> > > > js.jar
>>> >>> > > > json.jar
>>> >>> > > > jsonplugin-0.33.jar
>>> >>> > > > jstl.jar
>>> >>> > > > junit-4.4.jar
>>> >>> > > > log4j-1.2.8.jar
>>> >>> > > > mail-1.4.2.jar
>>> >>> > > > mmpdemo-bl.jar
>>> >>> > > > modelapi.jar
>>> >>> > > > modelodaapi.jar
>>> >>> > > > mysql-connector-java-5.0.5-bin.jar
>>> >>> > > > odadesignapi.jar
>>> >>> > > > *ognl-2.7.3.jar*
>>> >>> > > > org.apache.commons.codec_1.3.0.v20080530-1600.jar
>>> >>> > > > org.eclipse.birt.report.model_2.5.0.v20090605.jar
>>> >>> > > > org.eclipse.emf.common_2.5.0.v200906080927.jar
>>> >>> > > > org.eclipse.emf.ecore_2.5.0.v200906080927.jar
>>> >>> > > > org.eclipse.emf.ecore.xmi_2.5.0.v200906080927.jar
>>> >>> > > > org.w3c.css.sac_1.3.0.v200805290154.jar
>>> >>> > > > poi-3.0.2-FINAL-20080204.jar
>>> >>> > > > scriptapi.jar
>>> >>> > > > spring-2.5.6.jar
>>> >>> > > > spring-security-core-2.0.4.jar
>>> >>> > > > spring-security-taglibs-2.0.4.jar
>>> >>> > > > spring-test-2.5.6.jar
>>> >>> > > > spring-webmvc-2.5.6.jar
>>> >>> > > > spring-ws-1.5.2.jar
>>> >>> > > > standard.jar
>>> >>> > > > *struts2-core-2.1.8.jar*
>>> >>> > > > *struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar
>>> >>> > > > *struts2-jquery-plugin-1.0.8.jar
>>> >>> > > > struts2-scope-plugin-1.0.4 (modified).jar
>>> >>> > > > *struts2-spring-plugin-2.1.8.jar*
>>> >>> > > > tidy.jar
>>> >>> > > > trilead-ssh2-build213.jar
>>> >>> > > > webservices-api.jar
>>> >>> > > > webservices-rt.jar
>>> >>> > > > xbean-spring-3.1.jar
>>> >>> > > > *xwork-core-2.1.6.jar*
>>> >>> > > >
>>> >>> > > > I haven't tried testing this on another 'trimmed down' project.
>>> Let
>>> >>> me
>>> >>> > > know
>>> >>> > > > if anything is glaringly obvious here, otherwise, I'll try the
>>> >>> > > trimming-down
>>> >>> > > >
>>> >>> > > >  Thanks for looking through this!
>>> >>> > > > - Eric
>>> >>> > > >
>>> >>> > > >
>>> >>> > > > On Sat, Oct 17, 2009 at 2:52 AM, Musachy Barroso <
>>> musachy@gmail.com>
>>> >>> > > wrote:
>>> >>> > > >
>>> >>> > > >> nvm. el-api.jar should not be in lib, after removing them I
>>> have to
>>> >>> > > >> webapps with jsp plugin working. Can you compare your jars to:
>>> >>> > > >>
>>> >>> > > >>  commons-el-1.0.jar
>>> >>> > > >>  commons-fileupload-1.2.1.jar
>>> >>> > > >>  commons-io-1.3.2.jar
>>> >>> > > >>  commons-logging-1.1.1.jar
>>> >>> > > >>  freemarker-2.3.15.jar
>>> >>> > > >>  ognl-2.7.3.jar
>>> >>> > > >>  struts2-core-2.1.9-SNAPSHOT.jar
>>> >>> > > >>  struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar
>>> >>> > > >>  xwork-core-2.1.7-SNAPSHOT.jar
>>> >>> > > >>
>>> >>> > > >> and tell me the exact steps after you load the app, to
>>> reproduce the
>>> >>> > > error?
>>> >>> > > >>
>>> >>> > > >> thanks for helping me test this btw :)
>>> >>> > > >> musachy
>>> >>> > > >>
>>> >>> > > >> On Fri, Oct 16, 2009 at 4:49 PM, Musachy Barroso <
>>> musachy@gmail.com
>>> >>> >
>>> >>> > > >> wrote:
>>> >>> > > >> > I am getting a different error:
>>> >>> > > >> >
>>> >>> > > >> > javax.servlet.ServletException: java.lang.LinkageError: Class
>>> >>> > > >> > javax/el/ExpressionFactory violates loader constraints
>>> >>> > > >> >
>>> >>> > >  org.apache.jasper.servlet.JspServlet.service(JspServlet.java:275)
>>> >>> > > >> >
>>> >>>  javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>>> >>> > > >> >
>>> >>> > > >>
>>> >>> > >
>>> >>>
>>>  org.apache.struts2.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:154)
>>> >>> > > >> >
>>> >>> > > >>
>>> >>> > >
>>> >>>
>>>  org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186)
>>> >>> > > >> >
>>> >>> > > >>
>>> >>> > >
>>> >>>
>>>  com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:362)
>>> >>> > > >> >
>>> >>> > > >>
>>> >>> > >
>>> >>>
>>>  com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:266)
>>> >>> > > >> >
>>> >>> > > >>
>>> >>> > >
>>> >>>
>>>  com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165)
>>> >>> > > >> >
>>> >>> > > >> > which looks even more weird. Here are the jars I have in
>>> >>> web-inf/lib:
>>> >>> > > >> >
>>> >>> > > >> > commons-el-1.0.jar
>>> >>> > > >> > commons-fileupload-1.2.1.jar
>>> >>> > > >> > commons-io-1.3.2.jar
>>> >>> > > >> > commons-logging-1.1.1.jar
>>> >>> > > >> > el-api-6.0.18.jar
>>> >>> > > >> > freemarker-2.3.15.jar
>>> >>> > > >> > ognl-2.7.3.jar
>>> >>> > > >> > struts2-core-2.1.9-SNAPSHOT.jar
>>> >>> > > >> > struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar
>>> >>> > > >> > testjar-1.0.jar
>>> >>> > > >> > xwork-core-2.1.7-SNAPSHOT.jar
>>> >>> > > >> >
>>> >>> > > >> > That's on a default installation of tomcat 6.0.20. Can you
>>> compare
>>> >>> > > >> > that to your jars?
>>> >>> > > >> >
>>> >>> > > >> > musachy
>>> >>> > > >> >
>>> >>> > > >> > On Thu, Oct 15, 2009 at 8:57 AM, Musachy Barroso <
>>> >>> musachy@gmail.com>
>>> >>> > > >> wrote:
>>> >>> > > >> >> pretty consistent :), I will try to take a look.
>>> >>> > > >> >>
>>> >>> > > >> >> musachy
>>> >>> > > >> >>
>>> >>> > > >> >> On Thu, Oct 15, 2009 at 8:23 AM, Obinna <ob...@gmail.com>
>>> >>> wrote:
>>> >>> > > >> >>> No I don't have any unusual jars in my shared lib (learnt
>>> my
>>> >>> lesson
>>> >>> > > >> last
>>> >>> > > >> >>> time :| - I have some jax-ws web-service api stuff in
>>> endorsed
>>> >>> but
>>> >>> > > >> that's
>>> >>> > > >> >>> all).
>>> >>> > > >> >>>
>>> >>> > > >> >>> Placing the plugin jar in the shared dir ('lib' for Tomcat
>>> 6)
>>> >>> > > results
>>> >>> > > >> in
>>> >>> > > >> >>> struts not being able to find the plugin config file and
>>> >>> throwing
>>> >>> > > the
>>> >>> > > >> error:
>>> >>> > > >> >>> "There is no result type defined for type 'embeddedJsp'..."
>>> >>> > > >> >>>
>>> >>> > > >> >>> Given this, it is somewhat strange that, placing it in the
>>> >>> web-app
>>> >>> > > libs
>>> >>> > > >> *as
>>> >>> > > >> >>> well as *the tomcat lib results in struts trying to load
>>> the
>>> >>> trying
>>> >>> > > to
>>> >>> > > >> load
>>> >>> > > >> >>> the plugin config file twice and throwing the error during
>>> >>> startup:
>>> >>> > > >> >>>
>>> >>> > > >> >>> The package name 'embeddedjsp-default' at location package
>>> -
>>> >>> > > >> >>>
>>> >>> > > >>
>>> >>> > >
>>> >>>
>>> jar:file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/wtpwebapps/test/WEB-INF/lib/struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar!/struts-plugin.xml:29:82
>>> >>> > > >> >>> is already been used by another package at location package
>>> -
>>> >>> > > >> >>>
>>> >>> > > >>
>>> >>> > >
>>> >>>
>>> jar:file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/lib/struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar!/struts-plugin.xml:29:82
>>> >>> > > >> >>> ....
>>> >>> > > >> >>>
>>> >>> > > >> >>> Thanks,
>>> >>> > > >> >>>  - Eric
>>> >>> > > >> >>>
>>> >>> > > >> >>>
>>> >>> > > >> >>>
>>> >>> > > >> >>>
>>> >>> > > >> >>> On Thu, Oct 15, 2009 at 5:59 PM, Musachy Barroso <
>>> >>> musachy@gmail.com
>>> >>> > > >
>>> >>> > > >> wrote:
>>> >>> > > >> >>>
>>> >>> > > >> >>>> just for kicks, put the embeddedjsp plugin in the shared
>>> dir,
>>> >>> and
>>> >>> > > see
>>> >>> > > >> >>>> if it works.
>>> >>> > > >> >>>>
>>> >>> > > >> >>>> On Thu, Oct 15, 2009 at 7:58 AM, Musachy Barroso <
>>> >>> > > musachy@gmail.com>
>>> >>> > > >> >>>> wrote:
>>> >>> > > >> >>>> > yeah that is kind of strange. do you have any of the
>>> struts,
>>> >>> or
>>> >>> > > your
>>> >>> > > >> >>>> > jars in the tomcat shared dir? even in that case it
>>> should
>>> >>> not
>>> >>> > > >> matter.
>>> >>> > > >> >>>> >
>>> >>> > > >> >>>> > musachy
>>> >>> > > >> >>>> >
>>> >>> > > >> >>>> > On Thu, Oct 15, 2009 at 1:10 AM, Obinna <
>>> obinna@gmail.com>
>>> >>> > > wrote:
>>> >>> > > >> >>>> >> There's another classloading issue with the embeddedJsp
>>> >>> plugin.
>>> >>> > > >> >>>> >>
>>> >>> > > >> >>>> >> When deploying multiple webapps on the same tomcat
>>> server,
>>> >>> both
>>> >>> > > of
>>> >>> > > >> which
>>> >>> > > >> >>>> >> utilize the embeddedJsp plugin. After loading embeddJsp
>>> >>> pages in
>>> >>> > > on
>>> >>> > > >> web
>>> >>> > > >> >>>> app,
>>> >>> > > >> >>>> >> attempting to load any embeddedJsp pages in the second
>>> >>> webapp
>>> >>> > > >> throws the
>>> >>> > > >> >>>> >> following exception:
>>> >>> > > >> >>>> >>
>>> >>> > > >> >>>> >> java.lang.ClassCastException:
>>> >>> > > >> >>>> >>
>>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl
>>> >>> > > cannot
>>> >>> > > >> be
>>> >>> > > >> >>>> cast
>>> >>> > > >> >>>> >> to
>>> >>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl
>>> >>> > > >> >>>> >>
>>> >>> > > >> >>>> >>
>>> >>> > > >> >>>>
>>> >>> > > >>
>>> >>> > >
>>> >>>
>>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl.getInstance(JspApplicationContextImpl.java:76)
>>> >>> > > >> >>>> >>
>>> >>> > > >> >>>> >>
>>> >>> > > >> >>>>
>>> >>> > > >>
>>> >>> > >
>>> >>>
>>> org.apache.struts2.jasper.runtime.JspFactoryImpl.getJspApplicationContext(JspFactoryImpl.java:200)
>>> >>> > > >> >>>> >>
>>> >>> > > >> >>>> >>
>>> >>> > > >> >>>>
>>> >>> > > >>
>>> >>> > >
>>> >>>
>>> org.apache.struts2.jsp.com.test.service.reporting.jsp.alert_jsp._jspInit(alert_jsp.java
>>> >>> > > >> >>>> >> from :31)
>>> >>> > > >> >>>> >>
>>> >>> > > >> >>>>
>>> >>> > > >>
>>> >>>
>>>  org.apache.struts2.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52)
>>> >>> > > >> >>>> >>
>>> >>> > >  org.apache.struts2.JSPLoader.createServlet(JSPLoader.java:112)
>>> >>> > > >> >>>> >>    org.apache.struts2.JSPLoader.load(JSPLoader.java:90)
>>> >>> > > >> >>>> >>
>>> >>>  org.apache.struts2.ServletCache$1.call(ServletCache.java:46)
>>> >>> > > >> >>>> >>
>>> >>>  org.apache.struts2.ServletCache$1.call(ServletCache.java:44)
>>> >>> > > >> >>>> >>
>>> >>> > > >>
>>>  java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>>> >>> > > >> >>>> >>
>>>  java.util.concurrent.FutureTask.run(FutureTask.java:138)
>>> >>> > > >> >>>> >>
>>>  org.apache.struts2.ServletCache.get(ServletCache.java:53)
>>> >>> > > >> >>>> >>
>>>  org.apache.struts2.JSPRuntime.handle(JSPRuntime.java:63)
>>> >>> > > >> >>>> >>
>>>  org.apache.struts2.JSPRuntime.handle(JSPRuntime.java:45)
>>> >>> > > >> >>>> >>
>>> >>> > > >> >>>> >>
>>> >>> > > >> >>>>
>>> >>> > > >>
>>> >>> > >
>>> >>>
>>> org.apache.struts2.EmbeddedJSPResult.doExecute(EmbeddedJSPResult.java:32)
>>> >>> > > >> >>>> >>
>>> >>> > > >> >>>> >>
>>> >>> > > >> >>>>
>>> >>> > > >>
>>> >>> > >
>>> >>>
>>> org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186).
>>> >>> > > >> >>>> >>
>>> >>> > > >> >>>> >> which is strange as i would have expected the
>>> >>> > > >> JspApplicationContextImpl
>>> >>> > > >> >>>> to
>>> >>> > > >> >>>> >> be loaded and isolated by each web-application class
>>> loader.
>>> >>> > > >> >>>> >>
>>> >>> > > >> >>>> >> Also, subsequent attempts to load non-embedded jsp page
>>> then
>>> >>> > > throw:
>>> >>> > > >> >>>> >>
>>> >>> > > >> >>>> >>
>>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl
>>> >>> > > cannot
>>> >>> > > >> be
>>> >>> > > >> >>>> cast
>>> >>> > > >> >>>> >> to
>>> >>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl
>>> >>> > > >> >>>> >> at
>>> >>> > > >> >>>> >>
>>> >>> > > >> >>>>
>>> >>> > > >>
>>> >>> > >
>>> >>>
>>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl.getInstance(JspApplicationContextImpl.java:76)
>>> >>> > > >> >>>> >>    at
>>> >>> > > >> >>>> >>
>>> >>> > > >> >>>>
>>> >>> > > >>
>>> >>> > >
>>> >>>
>>> org.apache.struts2.jasper.runtime.JspFactoryImpl.getJspApplicationContext(JspFactoryImpl.java:200)
>>> >>> > > >> >>>> >>
>>> >>> > > >> >>>> >>
>>> >>> > > >> >>>> >> - Eric
>>> >>> > > >> >>>> >>
>>> >>> > > >> >>>> >>
>>> >>> > > >> >>>> >>
>>> >>> > > >> >>>> >>
>>> >>> > > >> >>>> >> On Mon, Sep 28, 2009 at 11:05 AM, Obinna <
>>> obinna@gmail.com>
>>> >>> > > wrote:
>>> >>> > > >> >>>> >>
>>> >>> > > >> >>>> >>> Tested and work well. Couldn't resolve
>>> >>> > > struts2-core.2.1.9-Snapshot
>>> >>> > > >> >>>> maven
>>> >>> > > >> >>>> >>> dependency so I used 2.1.8 though.
>>> >>> > > >> >>>> >>> Closed jira ticket.
>>> >>> > > >> >>>> >>> Thanks again!!  I hope everyone realizes how
>>> >>> > > significant/powerful
>>> >>> > > >> a
>>> >>> > > >> >>>> plugin
>>> >>> > > >> >>>> >>> this is.
>>> >>> > > >> >>>> >>>
>>> >>> > > >> >>>> >>> - Eric
>>> >>> > > >> >>>> >>>
>>> >>> > > >> >>>> >>>
>>> >>> > > >> >>>> >>>
>>> >>> > > >> >>>> >>> On Mon, Sep 28, 2009 at 9:07 AM, Musachy Barroso <
>>> >>> > > >> musachy@gmail.com
>>> >>> > > >> >>>> >wrote:
>>> >>> > > >> >>>> >>>
>>> >>> > > >> >>>> >>>> I should have done it with jasper 6 since the
>>> beginning,
>>> >>> but
>>> >>> > > it
>>> >>> > > >> seemed
>>> >>> > > >> >>>> >>>> more difficult and my laziness took the best of me :)
>>> >>> > > >> >>>> >>>>
>>> >>> > > >> >>>> >>>> musachy
>>> >>> > > >> >>>> >>>>
>>> >>> > > >> >>>> >>>> On Sun, Sep 27, 2009 at 10:12 PM, Obinna <
>>> >>> obinna@gmail.com>
>>> >>> > > >> wrote:
>>> >>> > > >> >>>> >>>> > Great!. Musachy, thanks a million for doing this so
>>> >>> quickly.
>>> >>> > > >> I'll
>>> >>> > > >> >>>> give
>>> >>> > > >> >>>> >>>> it a
>>> >>> > > >> >>>> >>>> > test anon
>>> >>> > > >> >>>> >>>> >
>>> >>> > > >> >>>> >>>> >
>>> >>> > > >> >>>> >>>> > On Mon, Sep 28, 2009 at 6:18 AM, Martin Gainty <
>>> >>> > > >> mgainty@hotmail.com
>>> >>> > > >> >>>> >
>>> >>> > > >> >>>> >>>> wrote:
>>> >>> > > >> >>>> >>>> >
>>> >>> > > >> >>>> >>>> >>
>>> >>> > > >> >>>> >>>> >> thanks for the headsup.. 2.1.8 builds now..
>>> >>> > > >> >>>> >>>> >> I had wrong version of commons-collections
>>> ListUtils
>>> >>> not
>>> >>> > > >> having
>>> >>> > > >> >>>> >>>> >> isEqualList(collection,collection)
>>> >>> > > >> >>>> >>>> >>        <dependency>
>>> >>> > > >> >>>> >>>> >>
>>> >>> > > >>  <groupId>org.apache.commons.collections</groupId>
>>> >>> > > >> >>>> >>>> >>
>>> >>>  <artifactId>commons-collections</artifactId>
>>> >>> > > >> >>>> >>>> >>                <version>3.2.1</version>
>>> >>> > > >> >>>> >>>> >>        </dependency>
>>> >>> > > >> >>>> >>>> >> pulls correct version
>>> >>> > > >> >>>> >>>> >>
>>> >>> > > >> >>>> >>>> >> seeing some failures in surefire..(too many to
>>> count on
>>> >>> one
>>> >>> > > >> hand
>>> >>> > > >> >>>> will
>>> >>> > > >> >>>> >>>> take
>>> >>> > > >> >>>> >>>> >> a look tommorrow)
>>> >>> > > >> >>>> >>>> >> thanks,
>>> >>> > > >> >>>> >>>> >> Martin Gainty
>>> >>> > > >> >>>> >>>> >> ______________________________________________
>>> >>> > > >> >>>> >>>> >> Standard Caveats apply
>>> >>> > > >> >>>> >>>> >>
>>> >>> > > >> >>>> >>>> >>
>>> >>> > > >> >>>> >>>> >>
>>> >>> > > >> >>>> >>>> >>
>>> >>> > > >> >>>> >>>> >> > Date: Sun, 27 Sep 2009 19:00:12 -0700
>>> >>> > > >> >>>> >>>> >> > Subject: Re: embeddedJsp plugin causing jsp
>>> >>> compilation
>>> >>> > > >> issues
>>> >>> > > >> >>>> >>>> >> > From: musachy@gmail.com
>>> >>> > > >> >>>> >>>> >> > To: dev@struts.apache.org
>>> >>> > > >> >>>> >>>> >> >
>>> >>> > > >> >>>> >>>> >> > a'right. The code is in trunk. To use the plugin
>>> with
>>> >>> > > >> tomcat,
>>> >>> > > >> >>>> just
>>> >>> > > >> >>>> >>>> >> > build it and deploy it as usual. It works with
>>> Jetty
>>> >>> 7+,
>>> >>> > > >> which
>>> >>> > > >> >>>> needs
>>> >>> > > >> >>>> >>>> >> > the tomcat deps added to the application, adding
>>> this
>>> >>> to
>>> >>> > > >> your pom
>>> >>> > > >> >>>> >>>> will
>>> >>> > > >> >>>> >>>> >> > take care of it:
>>> >>> > > >> >>>> >>>> >> >
>>> >>> > > >> >>>> >>>> >> > <dependency>
>>> >>> > > >> >>>> >>>> >> >        <groupId>org.apache.tomcat</groupId>
>>> >>> > > >> >>>> >>>> >> >        <artifactId>jasper</artifactId>
>>> >>> > > >> >>>> >>>> >> >        <version>6.0.18</version>
>>> >>> > > >> >>>> >>>> >> > </dependency>
>>> >>> > > >> >>>> >>>> >> >
>>> >>> > > >> >>>> >>>> >> > let me know if it works.
>>> >>> > > >> >>>> >>>> >> >
>>> >>> > > >> >>>> >>>> >> > musachy
>>> >>> > > >> >>>> >>>> >> >
>>> >>> > > >> >>>> >>>> >> > On Sun, Sep 27, 2009 at 6:34 PM, Musachy Barroso
>>> <
>>> >>> > > >> >>>> musachy@gmail.com>
>>> >>> > > >> >>>> >>>> >> wrote:
>>> >>> > > >> >>>> >>>> >> > > it works on tomcat but now it breaks in
>>> jetty...oh
>>> >>> joy.
>>> >>> > > >> >>>> >>>> >> > >
>>> >>> > > >> >>>> >>>> >> > > On Sun, Sep 27, 2009 at 2:35 PM, Musachy
>>> Barroso <
>>> >>> > > >> >>>> >>>> musachy@gmail.com>
>>> >>> > > >> >>>> >>>> >> wrote:
>>> >>> > > >> >>>> >>>> >> > >> ok I got jasper 6 working. I will do some
>>> more
>>> >>> testing
>>> >>> > > >> (at
>>> >>> > > >> >>>> least
>>> >>> > > >> >>>> >>>> the
>>> >>> > > >> >>>> >>>> >> > >> junits run fine), commit the jasper code, and
>>> then
>>> >>> > > commit
>>> >>> > > >> my
>>> >>> > > >> >>>> >>>> changes.
>>> >>> > > >> >>>> >>>> >> > >> (later on)
>>> >>> > > >> >>>> >>>> >> > >>
>>> >>> > > >> >>>> >>>> >> > >> musachy
>>> >>> > > >> >>>> >>>> >> > >>
>>> >>> > > >> >>>> >>>> >> > >> On Sun, Sep 27, 2009 at 12:56 PM, Musachy
>>> Barroso
>>> >>> <
>>> >>> > > >> >>>> >>>> musachy@gmail.com>
>>> >>> > > >> >>>> >>>> >> wrote:
>>> >>> > > >> >>>> >>>> >> > >>> yeah that would work if I could use it as a
>>> >>> library,
>>> >>> > > but
>>> >>> > > >> >>>> jasper
>>> >>> > > >> >>>> >>>> is
>>> >>> > > >> >>>> >>>> >> not
>>> >>> > > >> >>>> >>>> >> > >>> written with that in mind. I had to change a
>>> >>> fairly
>>> >>> > > >> amount of
>>> >>> > > >> >>>> >>>> private
>>> >>> > > >> >>>> >>>> >> > >>> code to get it to work.
>>> >>> > > >> >>>> >>>> >> > >>>
>>> >>> > > >> >>>> >>>> >> > >>> musachy
>>> >>> > > >> >>>> >>>> >> > >>>
>>> >>> > > >> >>>> >>>> >> > >>> On Sun, Sep 27, 2009 at 12:50 PM, Antonio
>>> >>> Petrelli
>>> >>> > > >> >>>> >>>> >> > >>> <an...@gmail.com> wrote:
>>> >>> > > >> >>>> >>>> >> > >>>> 2009/9/27 Musachy Barroso <
>>> musachy@gmail.com>:
>>> >>> > > >> >>>> >>>> >> > >>>>> It is a missmatch between the jsp-apis.
>>> The
>>> >>> > > internal
>>> >>> > > >> jasper
>>> >>> > > >> >>>> >>>> >> implements
>>> >>> > > >> >>>> >>>> >> > >>>>> 2.0, while tomcat 6/jasper 6 implement
>>> 2.1, and
>>> >>> in
>>> >>> > > 2.1
>>> >>> > > >> >>>> there a
>>> >>> > > >> >>>> >>>> new
>>> >>> > > >> >>>> >>>> >> > >>>>> method called. It is not looking good.
>>> >>> > > >> >>>> >>>> >> > >>>>
>>> >>> > > >> >>>> >>>> >> > >>>> You might wish to use JarJar to repackage,
>>> to
>>> >>> avoid
>>> >>> > > >> >>>> conflicts
>>> >>> > > >> >>>> >>>> like
>>> >>> > > >> >>>> >>>> >> > >>>> this. Lots of people use them to avoid
>>> >>> dependencies,
>>> >>> > > >> like
>>> >>> > > >> >>>> >>>> >> > >>>> commons-logging.
>>> >>> > > >> >>>> >>>> >> > >>>> See:
>>> >>> > > >> >>>> >>>> >> > >>>>
>>> http://docs.atlassian.com/jarjar-maven-plugin/
>>> >>> > > >> >>>> >>>> >> > >>>>
>>> >>> > > >> >>>> >>>> >> > >>>> HTH
>>> >>> > > >> >>>> >>>> >> > >>>> Antonio
>>> >>> > > >> >>>> >>>> >> > >>>>
>>> >>> > > >> >>>> >>>> >> > >>>>
>>> >>> > > >> >>>> >>>> >>
>>> >>> > > >> >>>>
>>> >>> > >
>>> ---------------------------------------------------------------------
>>> >>> > > >> >>>> >>>> >> > >>>> To unsubscribe, e-mail:
>>> >>> > > >> dev-unsubscribe@struts.apache.org
>>> >>> > > >> >>>> >>>> >> > >>>> For additional commands, e-mail:
>>> >>> > > >> dev-help@struts.apache.org
>>> >>> > > >> >>>> >>>> >> > >>>>
>>> >>> > > >> >>>> >>>> >> > >>>>
>>> >>> > > >> >>>> >>>> >> > >>>
>>> >>> > > >> >>>> >>>> >> > >>>
>>> >>> > > >> >>>> >>>> >> > >>>
>>> >>> > > >> >>>> >>>> >> > >>> --
>>> >>> > > >> >>>> >>>> >> > >>> "Hey you! Would you help me to carry the
>>> stone?"
>>> >>> Pink
>>> >>> > > >> Floyd
>>> >>> > > >> >>>> >>>> >> > >>>
>>> >>> > > >> >>>> >>>> >> > >>
>>> >>> > > >> >>>> >>>> >> > >>
>>> >>> > > >> >>>> >>>> >> > >>
>>> >>> > > >> >>>> >>>> >> > >> --
>>> >>> > > >> >>>> >>>> >> > >> "Hey you! Would you help me to carry the
>>> stone?"
>>> >>> Pink
>>> >>> > > >> Floyd
>>> >>> > > >> >>>> >>>> >> > >>
>>> >>> > > >> >>>> >>>> >> > >
>>> >>> > > >> >>>> >>>> >> > >
>>> >>> > > >> >>>> >>>> >> > >
>>> >>> > > >> >>>> >>>> >> > > --
>>> >>> > > >> >>>> >>>> >> > > "Hey you! Would you help me to carry the
>>> stone?"
>>> >>> Pink
>>> >>> > > >> Floyd
>>> >>> > > >> >>>> >>>> >> > >
>>> >>> > > >> >>>> >>>> >> >
>>> >>> > > >> >>>> >>>> >> >
>>> >>> > > >> >>>> >>>> >> >
>>> >>> > > >> >>>> >>>> >> > --
>>> >>> > > >> >>>> >>>> >> > "Hey you! Would you help me to carry the stone?"
>>> Pink
>>> >>> > > Floyd
>>> >>> > > >> >>>> >>>> >> >
>>> >>> > > >> >>>> >>>> >> >
>>> >>> > > >> >>>>
>>> >>> > >
>>> ---------------------------------------------------------------------
>>> >>> > > >> >>>> >>>> >> > To unsubscribe, e-mail:
>>> >>> > > dev-unsubscribe@struts.apache.org
>>> >>> > > >> >>>> >>>> >> > For additional commands, e-mail:
>>> >>> > > dev-help@struts.apache.org
>>> >>> > > >> >>>> >>>> >> >
>>> >>> > > >> >>>> >>>> >>
>>> >>> > > >> >>>> >>>> >>
>>> >>> > > >>
>>> _________________________________________________________________
>>> >>> > > >> >>>> >>>> >> Lauren found her dream laptop. Find the PC that’s
>>> right
>>> >>> for
>>> >>> > > >> you.
>>> >>> > > >> >>>> >>>> >>
>>> >>> > > >> http://www.microsoft.com/windows/choosepc/?ocid=ftp_val_wl_290
>>> >>> > > >> >>>> >>>> >
>>> >>> > > >> >>>> >>>>
>>> >>> > > >> >>>> >>>>
>>> >>> > > >> >>>> >>>>
>>> >>> > > >> >>>> >>>> --
>>> >>> > > >> >>>> >>>> "Hey you! Would you help me to carry the stone?" Pink
>>> >>> Floyd
>>> >>> > > >> >>>> >>>>
>>> >>> > > >> >>>> >>>>
>>> >>> > > >>
>>> >>> ---------------------------------------------------------------------
>>> >>> > > >> >>>> >>>> To unsubscribe, e-mail:
>>> dev-unsubscribe@struts.apache.org
>>> >>> > > >> >>>> >>>> For additional commands, e-mail:
>>> >>> dev-help@struts.apache.org
>>> >>> > > >> >>>> >>>>
>>> >>> > > >> >>>> >>>>
>>> >>> > > >> >>>> >>>
>>> >>> > > >> >>>> >>
>>> >>> > > >> >>>> >
>>> >>> > > >> >>>> >
>>> >>> > > >> >>>> >
>>> >>> > > >> >>>> > --
>>> >>> > > >> >>>> > "Hey you! Would you help me to carry the stone?" Pink
>>> Floyd
>>> >>> > > >> >>>> >
>>> >>> > > >> >>>>
>>> >>> > > >> >>>>
>>> >>> > > >> >>>>
>>> >>> > > >> >>>> --
>>> >>> > > >> >>>> "Hey you! Would you help me to carry the stone?" Pink
>>> Floyd
>>> >>> > > >> >>>>
>>> >>> > > >> >>>>
>>> >>> > >
>>> ---------------------------------------------------------------------
>>> >>> > > >> >>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>> >>> > > >> >>>> For additional commands, e-mail:
>>> dev-help@struts.apache.org
>>> >>> > > >> >>>>
>>> >>> > > >> >>>>
>>> >>> > > >> >>>
>>> >>> > > >> >>
>>> >>> > > >> >>
>>> >>> > > >> >>
>>> >>> > > >> >> --
>>> >>> > > >> >> "Hey you! Would you help me to carry the stone?" Pink Floyd
>>> >>> > > >> >>
>>> >>> > > >> >
>>> >>> > > >> >
>>> >>> > > >> >
>>> >>> > > >> > --
>>> >>> > > >> > "Hey you! Would you help me to carry the stone?" Pink Floyd
>>> >>> > > >> >
>>> >>> > > >>
>>> >>> > > >>
>>> >>> > > >>
>>> >>> > > >> --
>>> >>> > > >> "Hey you! Would you help me to carry the stone?" Pink Floyd
>>> >>> > > >>
>>> >>> > > >>
>>> >>> ---------------------------------------------------------------------
>>> >>> > > >> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>> >>> > > >> For additional commands, e-mail: dev-help@struts.apache.org
>>> >>> > > >>
>>> >>> > > >>
>>> >>> > > >
>>> >>> > >
>>> >>> > >
>>> >>> > >
>>> >>> > > --
>>> >>> > > "Hey you! Would you help me to carry the stone?" Pink Floyd
>>> >>> > >
>>> >>> > >
>>> ---------------------------------------------------------------------
>>> >>> > > To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>> >>> > > For additional commands, e-mail: dev-help@struts.apache.org
>>> >>> > >
>>> >>> > >
>>> >>>
>>> >>> _________________________________________________________________
>>> >>> Hotmail: Free, trusted and rich email service.
>>> >>> http://clk.atdmt.com/GBL/go/171222984/direct/01/
>>> >>>
>>> >>
>>> >
>>> >
>>> >
>>> > --
>>> > "Hey you! Would you help me to carry the stone?" Pink Floyd
>>> >
>>>
>>>
>>>
>>> --
>>> "Hey you! Would you help me to carry the stone?" Pink Floyd
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
>>> For additional commands, e-mail: dev-help@struts.apache.org
>>>
>>>
>>
>

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