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 <musa...@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 <obi...@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 <mgai...@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: obi...@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 <musa...@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 <obi...@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 <musa...@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 <musa...@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 <
>>> musa...@gmail.com>
>>> > > >> wrote:
>>> > > >> >> pretty consistent :), I will try to take a look.
>>> > > >> >>
>>> > > >> >> musachy
>>> > > >> >>
>>> > > >> >> On Thu, Oct 15, 2009 at 8:23 AM, Obinna <obi...@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 <
>>> musa...@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 <
>>> > > musa...@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 <obi...@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 <obi...@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 <
>>> > > >> musa...@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 <
>>> obi...@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 <
>>> > > >> mgai...@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: musa...@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 <
>>> > > >> >>>> musa...@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 <
>>> > > >> >>>> >>>> musa...@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
>>> <
>>> > > >> >>>> >>>> musa...@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
>>> > > >> >>>> >>>> >> > >>> <antonio.petre...@gmail.com> wrote:
>>> > > >> >>>> >>>> >> > >>>> 2009/9/27 Musachy Barroso <musa...@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-unsubscr...@struts.apache.org
>>> > > >> >>>> >>>> >> > >>>> For additional commands, e-mail:
>>> > > >> dev-h...@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-unsubscr...@struts.apache.org
>>> > > >> >>>> >>>> >> > For additional commands, e-mail:
>>> > > dev-h...@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-unsubscr...@struts.apache.org
>>> > > >> >>>> >>>> For additional commands, e-mail:
>>> dev-h...@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-unsubscr...@struts.apache.org
>>> > > >> >>>> For additional commands, e-mail: dev-h...@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-unsubscr...@struts.apache.org
>>> > > >> For additional commands, e-mail: dev-h...@struts.apache.org
>>> > > >>
>>> > > >>
>>> > > >
>>> > >
>>> > >
>>> > >
>>> > > --
>>> > > "Hey you! Would you help me to carry the stone?" Pink Floyd
>>> > >
>>> > > ---------------------------------------------------------------------
>>> > > To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org
>>> > > For additional commands, e-mail: dev-h...@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-unsubscr...@struts.apache.org
For additional commands, e-mail: dev-h...@struts.apache.org

Reply via email to