I deployed a JSF based webapp on the engine at appspot.com. I'm
getting
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at org.apache.myfaces.webapp.filter.ExtensionsFilter.<init>
(ExtensionsFilter.java:144)
I think eclipse uploaded the commons-logging.jar for me (no hassle
while doing the deploy inside eclipse). How can I check that this jar
resides on the appspot.com
I had exactly the same problem with Spring based application -
ClassNotFoundException: org.apache.commons.logging.LogFactory, with
commons-logging-1.1.1.jar in war/WEB-INF/lib directory
The problem is, that App Engine SDK also contains commons-
logging-1.1.1.jar with cripled Commons Logging: the package
org.apache.commons.logging.* is empty and everything is put under
com.google.appengine.repackaged.org.apache.commons.logging.* and
custom jar from WEB-INF/lib got overwritten with the SDK version.
(Leaving the same name I found extremely stupid from Google
developers.)
Solution is simple: put commongs logging into WEB-INF/lib with
different name (commons-logging.jar).
Eclipse plugin creates war which is going to be uploaded to App Engine
in temp directory with name appcfg*.tmp (like C:\Users\martin\AppData
\Local\Temp\appcfg1993864804685917941.tmp).
On Thu, Apr 9, 2009 at 2:29 PM, martiner <mcaslav...@gmail.com> wrote:
> I had exactly the same problem with Spring based application -
> ClassNotFoundException: org.apache.commons.logging.LogFactory, with
> commons-logging-1.1.1.jar in war/WEB-INF/lib directory
> The problem is, that App Engine SDK also contains commons-
> logging-1.1.1.jar with cripled Commons Logging: the package
> org.apache.commons.logging.* is empty and everything is put under
> com.google.appengine.repackaged.org.apache.commons.logging.* and
> custom jar from WEB-INF/lib got overwritten with the SDK version.
> (Leaving the same name I found extremely stupid from Google
> developers.)
> Solution is simple: put commongs logging into WEB-INF/lib with
> different name (commons-logging.jar).
> Eclipse plugin creates war which is going to be uploaded to App Engine
> in temp directory with name appcfg*.tmp (like C:\Users\martin\AppData
> \Local\Temp\appcfg1993864804685917941.tmp).
> I had exactly the same problem with Spring based application -
> ClassNotFoundException: org.apache.commons.logging.LogFactory, with
> commons-logging-1.1.1.jar in war/WEB-INF/lib directory
> The problem is, that App Engine SDK also contains commons-
> logging-1.1.1.jar with cripled Commons Logging: the package
> org.apache.commons.logging.* is empty and everything is put under
> com.google.appengine.repackaged.org.apache.commons.logging.* and
> custom jar from WEB-INF/lib got overwritten with the SDK version.
> (Leaving the same name I found extremely stupid from Google
> developers.)
> Solution is simple: put commongs logging into WEB-INF/lib with
> different name (commons-logging.jar).
> Eclipse plugin creates war which is going to be uploaded to App Engine
> in temp directory with name appcfg*.tmp (like C:\Users\martin\AppData
> \Local\Temp\appcfg1993864804685917941.tmp).
I am on a mac and renamed the jar, also verified that it was included
in the build being sent to the cloud (on mac /private/tmp/appcfg*) but
still getting the NoClassDefFoundError.
Anybody got this working from a mac?
Mats
On Apr 13, 8:07 am, Diego Pettisani <die...@gmail.com> wrote:
> Thanks Martiner, I had the same problem. It's all ok after reading
> your post.
> Thanks again.
> On 9 Apr, 13:29, martiner <mcaslav...@gmail.com> wrote:
> > I had exactly the same problem with Spring based application -
> > ClassNotFoundException: org.apache.commons.logging.LogFactory, with
> > commons-logging-1.1.1.jar in war/WEB-INF/lib directory
> > The problem is, that App Engine SDK also contains commons-
> > logging-1.1.1.jar with cripled Commons Logging: the package
> > org.apache.commons.logging.* is empty and everything is put under
> > com.google.appengine.repackaged.org.apache.commons.logging.* and
> > custom jar from WEB-INF/lib got overwritten with the SDK version.
> > (Leaving the same name I found extremely stupid from Google
> > developers.)
> > Solution is simple: put commongs logging into WEB-INF/lib with
> > different name (commons-logging.jar).
> > Eclipse plugin creates war which is going to be uploaded to App Engine
> > in temp directory with name appcfg*.tmp (like C:\Users\martin\AppData
> > \Local\Temp\appcfg1993864804685917941.tmp).
> I am on a mac and renamed the jar, also verified that it was included
> in the build being sent to the cloud (on mac /private/tmp/appcfg*) but
> still getting the NoClassDefFoundError.
> Anybody got this working from a mac?
> Mats
> On Apr 13, 8:07 am, Diego Pettisani <die...@gmail.com> wrote:
> > Thanks Martiner, I had the same problem. It's all ok after reading
> > your post.
> > Thanks again.
> > On 9 Apr, 13:29, martiner <mcaslav...@gmail.com> wrote:
> > > I had exactly the same problem with Spring based application -
> > > ClassNotFoundException: org.apache.commons.logging.LogFactory, with
> > > commons-logging-1.1.1.jar in war/WEB-INF/lib directory
> > > The problem is, that App Engine SDK also contains commons-
> > > logging-1.1.1.jar with cripled Commons Logging: the package
> > > org.apache.commons.logging.* is empty and everything is put under
> > > com.google.appengine.repackaged.org.apache.commons.logging.* and
> > > custom jar from WEB-INF/lib got overwritten with the SDK version.
> > > (Leaving the same name I found extremely stupid from Google
> > > developers.)
> > > Solution is simple: put commongs logging into WEB-INF/lib with
> > > different name (commons-logging.jar).
> > > Eclipse plugin creates war which is going to be uploaded to App Engine
> > > in temp directory with name appcfg*.tmp (like C:\Users\martin\AppData
> > > \Local\Temp\appcfg1993864804685917941.tmp).
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at org.springframework.web.context.ContextLoader.<clinit>
(ContextLoader.java:146)
at
org.springframework.web.context.ContextLoaderListener.createContextLoader
(ContextLoaderListener.java:53)
at
org.springframework.web.context.ContextLoaderListener.contextInitialized
(ContextLoaderListener.java:44)
even if i change the commons-logging-1.1.1.jar to commons-
logging-1.1.jar or commons-logging.jar i get the same exception. it
works locally fine, anyone please help me what am i doing wrong
On Apr 28, 4:32 am, Jas0n <jhar...@gmail.com> wrote:
> java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
> at org.springframework.web.context.ContextLoader.<clinit>
> (ContextLoader.java:146)
> at
> org.springframework.web.context.ContextLoaderListener.createContextLoader
> (ContextLoaderListener.java:53)
> at
> org.springframework.web.context.ContextLoaderListener.contextInitialized
> (ContextLoaderListener.java:44)
> even if i change the commons-logging-1.1.1.jar to commons-
> logging-1.1.jar or commons-logging.jar i get the same exception. it
> works locally fine, anyone please help me what am i doing wrong
> On Apr 28, 4:32 am, Jas0n <jhar...@gmail.com> wrote:
> > Yes, as Mats reported, I found changing to commons-logging-1.1.jar
> > worked, but neither renaming 1.1.1
> > not replacing it with the -api jar worked.
> > I had no trouble with commons-logging until I added a JSP.