[prev in list] [next in list] [prev in thread] [next in thread] 

List:       geronimo-user
Subject:    Re: ClassNotFoundException: log4j Appender (Geronimo 3.0-beta1)
From:       Ivan <xhhsld () gmail ! com>
Date:       2012-03-26 13:47:00
Message-ID: CALS1ypAu9p+E5NwnzZUdnLf1DN-bqWVLEm5BGyGz08LSgLvsqg () mail ! gmail ! com
[Download RAW message or body]

Hmm, could you try this,  <sys:import-package>!org.**apach
e.log4j*</sys:import-**package> ?

2012/3/26 Juho Autio <juho.autio@profium.com>

> Hi,
>
> Geronimo 3.0-beta1 fails to deploy my war due to classloading problems.
>
> Note that this war was successfully deployed on Geronimo 2.2.1 with tomcat
> 6 and also on a plain tomcat 7.
>
> My war has a web.xml with 2.3 servlet doctype and it ships some jar
> libraries under WEB-INF/lib/ - most importantly, a copy of log4j.jar. The
> war has a geronimo-web.xml with just an empty sys:environment element in it.
>
> When I try to deploy on Geronimo 3.0-beta1, I get this stacktrace:
>
> 2012-03-22 12:08:36,754 ERROR [[/myapp]] Servlet /myapp threw load()
> exception
> java.lang.**ClassNotFoundException: org.apache.log4j.Appender
>        at org.eclipse.osgi.internal.**loader.BundleLoader.**
> findClassInternal(**BundleLoader.java:467)
>        at org.eclipse.osgi.internal.**loader.BundleLoader.findClass(**
> BundleLoader.java:429)
>        at org.eclipse.osgi.internal.**loader.BundleLoader.findClass(**
> BundleLoader.java:417)
>        at org.apache.geronimo.hook.**equinox.GeronimoClassLoader.**
> loadClass(GeronimoClassLoader.**java:85)
>        at java.lang.ClassLoader.**loadClass(ClassLoader.java:**247)
>        at java.lang.Class.forName0(**Native Method)
>        at java.lang.Class.forName(Class.**java:247)
>        at org.apache.xbean.recipe.**RecipeHelper.loadClass(**
> RecipeHelper.java:52)
>        at org.apache.xbean.recipe.**ObjectRecipe.getType(**
> ObjectRecipe.java:353)
>        at org.apache.xbean.recipe.**ObjectRecipe.internalCreate(**
> ObjectRecipe.java:266)
>        at org.apache.xbean.recipe.**AbstractRecipe.create(**
> AbstractRecipe.java:96)
>        at org.apache.xbean.recipe.**AbstractRecipe.create(**
> AbstractRecipe.java:61)
>        at org.apache.geronimo.j2ee.**annotation.Holder.newInstance(**
> Holder.java:178)
>        at org.apache.geronimo.tomcat.**TomcatInstanceManager.**
> newInstance(**TomcatInstanceManager.java:74)
>        at org.apache.catalina.core.**StandardWrapper.loadServlet(**
> StandardWrapper.java:1087)
>        at org.apache.catalina.core.**StandardWrapper.load(**
> StandardWrapper.java:1031)
>        at org.apache.catalina.core.**StandardContext.loadOnStartup(**
> StandardContext.java:4957)
>        at org.apache.catalina.core.**StandardContext$3.call(**
> StandardContext.java:5284)
>        at org.apache.catalina.core.**StandardContext$3.call(**
> StandardContext.java:5279)
>        at java.util.concurrent.**FutureTask$Sync.innerRun(**
> FutureTask.java:303)
>        at java.util.concurrent.**FutureTask.run(FutureTask.**java:138)
>        at java.util.concurrent.**ThreadPoolExecutor$Worker.**
> runTask(ThreadPoolExecutor.**java:886)
>        at java.util.concurrent.**ThreadPoolExecutor$Worker.run(**
> ThreadPoolExecutor.java:908)
>        at java.lang.Thread.run(Thread.**java:662)
>
>
> Interestingly, if I remove the log4j jar, the stacktrace above is avoided,
> but the same issue hits in an actual servlet initialization. It has a
> slightly different error message:
>
> 2012-03-22 13:53:31,565 ERROR [DeploymentPortlet] The application was not
> deployed.
> Could not fully load class: com.myapp.MyFilter
>  due to:org/apache/log4j/Appender
>  in classLoader:
> org.apache.geronimo.hook.**equinox.GeronimoClassLoader@**3c982419
> java.lang.**NoClassDefFoundError: Could not fully load class:
> com.myapp.MyFilter
>  due to:org/apache/log4j/Appender
>  in classLoader:
>
>
> I also tried adding
>
> <sys:import-package>!org.**apache.log4j.*</sys:import-**package>
>
> in geronimo-web.xml (while having the log4j jar in place in the war), but
> this didn't help as ClassNotFoundException repeated.
>
>
> Any suggestions how to resolve this?
>
> Cheers,
> Juho Autio
>



-- 
Ivan

[Attachment #3 (text/html)]

Hmm, could you try this, 
<span style>&lt;sys:import-package&gt;!org.</span><u style></u><span \
style>apach</span><span style>e.log4j*&lt;/sys:import-</span><u style></u><span \
style>package&gt; ?</span><div><br><div class="gmail_quote">2012/3/26 Juho Autio \
<span dir="ltr">&lt;<a \
href="mailto:juho.autio@profium.com">juho.autio@profium.com</a>&gt;</span><br> \
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex">Hi,<br> <br>
Geronimo 3.0-beta1 fails to deploy my war due to classloading problems.<br>
<br>
Note that this war was successfully deployed on Geronimo 2.2.1 with tomcat 6 and also \
on a plain tomcat 7.<br> <br>
My war has a web.xml with 2.3 servlet doctype and it ships some jar libraries under \
WEB-INF/lib/ - most importantly, a copy of log4j.jar. The war has a geronimo-web.xml \
with just an empty sys:environment element in it.<br>

<br>
When I try to deploy on Geronimo 3.0-beta1, I get this stacktrace:<br>
<br>
2012-03-22 12:08:36,754 ERROR [[/myapp]] Servlet /myapp threw load() exception<br>
java.lang.<u></u>ClassNotFoundException: org.apache.log4j.Appender<br>
        at org.eclipse.osgi.internal.<u></u>loader.BundleLoader.<u></u>findClassInternal(<u></u>BundleLoader.java:467)<br>
                
        at org.eclipse.osgi.internal.<u></u>loader.BundleLoader.findClass(<u></u>BundleLoader.java:429)<br>
                
        at org.eclipse.osgi.internal.<u></u>loader.BundleLoader.findClass(<u></u>BundleLoader.java:417)<br>
                
        at org.apache.geronimo.hook.<u></u>equinox.GeronimoClassLoader.<u></u>loadClass(GeronimoClassLoader.<u></u>java:85)<br>
                
        at java.lang.ClassLoader.<u></u>loadClass(ClassLoader.java:<u></u>247)<br>
        at java.lang.Class.forName0(<u></u>Native Method)<br>
        at java.lang.Class.forName(Class.<u></u>java:247)<br>
        at org.apache.xbean.recipe.<u></u>RecipeHelper.loadClass(<u></u>RecipeHelper.java:52)<br>
                
        at org.apache.xbean.recipe.<u></u>ObjectRecipe.getType(<u></u>ObjectRecipe.java:353)<br>
                
        at org.apache.xbean.recipe.<u></u>ObjectRecipe.internalCreate(<u></u>ObjectRecipe.java:266)<br>
                
        at org.apache.xbean.recipe.<u></u>AbstractRecipe.create(<u></u>AbstractRecipe.java:96)<br>
                
        at org.apache.xbean.recipe.<u></u>AbstractRecipe.create(<u></u>AbstractRecipe.java:61)<br>
                
        at org.apache.geronimo.j2ee.<u></u>annotation.Holder.newInstance(<u></u>Holder.java:178)<br>
                
        at org.apache.geronimo.tomcat.<u></u>TomcatInstanceManager.<u></u>newInstance(<u></u>TomcatInstanceManager.java:74)<br>
                
        at org.apache.catalina.core.<u></u>StandardWrapper.loadServlet(<u></u>StandardWrapper.java:1087)<br>
                
        at org.apache.catalina.core.<u></u>StandardWrapper.load(<u></u>StandardWrapper.java:1031)<br>
                
        at org.apache.catalina.core.<u></u>StandardContext.loadOnStartup(<u></u>StandardContext.java:4957)<br>
                
        at org.apache.catalina.core.<u></u>StandardContext$3.call(<u></u>StandardContext.java:5284)<br>
                
        at org.apache.catalina.core.<u></u>StandardContext$3.call(<u></u>StandardContext.java:5279)<br>
                
        at java.util.concurrent.<u></u>FutureTask$Sync.innerRun(<u></u>FutureTask.java:303)<br>
                
        at java.util.concurrent.<u></u>FutureTask.run(FutureTask.<u></u>java:138)<br>
        at java.util.concurrent.<u></u>ThreadPoolExecutor$Worker.<u></u>runTask(ThreadPoolExecutor.<u></u>java:886)<br>
                
        at java.util.concurrent.<u></u>ThreadPoolExecutor$Worker.run(<u></u>ThreadPoolExecutor.java:908)<br>
  at java.lang.Thread.run(Thread.<u></u>java:662)<br>
<br>
<br>
Interestingly, if I remove the log4j jar, the stacktrace above is avoided, but the \
same issue hits in an actual servlet initialization. It has a slightly different \
error message:<br> <br>
2012-03-22 13:53:31,565 ERROR [DeploymentPortlet] The application was not \
deployed.<br> Could not fully load class: com.myapp.MyFilter<br>
 due to:org/apache/log4j/Appender<br>
 in classLoader:<br>
org.apache.geronimo.hook.<u></u>equinox.GeronimoClassLoader@<u></u>3c982419<br>
java.lang.<u></u>NoClassDefFoundError: Could not fully load class: \
com.myapp.MyFilter<br>  due to:org/apache/log4j/Appender<br>
 in classLoader:<br>
<br>
<br>
I also tried adding<br>
<br>
&lt;sys:import-package&gt;!org.<u></u>apache.log4j.*&lt;/sys:import-<u></u>package&gt;<br>
 <br>
in geronimo-web.xml (while having the log4j jar in place in the war), but this \
didn&#39;t help as ClassNotFoundException repeated.<br> <br>
<br>
Any suggestions how to resolve this?<br>
<br>
Cheers,<br>
Juho Autio<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Ivan<br>
</div>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic