Re: NoClassDefFoundErrors

From: Robin Rosenberg <robin(dot)rosenberg(dot)lists(at)dewire(dot)com>
To: Oliver Jowett <oliver(at)opencloud(dot)com>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: NoClassDefFoundErrors
Date: 2009-03-18 08:59:47
Message-ID: 200903180959.48234.robin.rosenberg.lists@dewire.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

onsdag 18 mars 2009 09:45:56 skrev Oliver Jowett <oliver(at)opencloud(dot)com>:
> Robin Rosenberg wrote:
> > Under various error conditions (and possibly otherwise) we get noclassdeffound errors instead of an SQL exception.
> >
> > Caused by: java.lang.NoClassDefFoundError: org/postgresql/core/Parser
> > at org.postgresql.core.v3.QueryExecutorImpl.parseQuery(QueryExecutorImpl.java:77)
> > at org.postgresql.core.v3.QueryExecutorImpl.createParameterizedQuery(QueryExecutorImpl.java:55)
>
> > We're currently on version 8.3-603 of the driver within glassfish 2.1
>
> $ jar tvf postgresql-8.3-603.jdbc2.jar | grep Parser.class
> 2904 Thu Jan 31 03:01:38 NZDT 2008 org/postgresql/core/Parser.class
>
> The class is there, so either you have a mangled copy of the driver jar,
> or glassfish is breaking something, or you have encountered a JVM bug.
> Parser is an integral part of the driver, used whenever you have a query
> that contains any of these characters: '"-/$
>
> -O
>

Indeed it is there. NoClassDefFoundError is ofter confused with ClassNotFoundException.

NoClassDefFoundError means the class was found, but it couldn't be loaded because
of another class was needed for the base class or interface or an exception was thrown
in a static initializer during class loading. There might be other reasons, but those are
the ones I know about. The problem is that these errors are very hard to debug, so I was
hoping for a clue.

-- robin

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Oliver Jowett 2009-03-18 09:20:52 Re: NoClassDefFoundErrors
Previous Message Oliver Jowett 2009-03-18 08:45:56 Re: NoClassDefFoundErrors