Hi,
In my experience, LinkageError is a symptom of a build issue or a
classpath issue. It usually means that the methods defined in an
interface are not defined in a class that claims to implement that
interface. For example, if you build your application using version
3.0 of some library and then execute the program with version 4.0 of
the library, where a method of the library has changed its signature.
Or build with version 4.0 and execute with 3.0 that doesn't implement
a method in the interface.
A classpath issue might be if you have different versions of Derby
available in Tomcat and some of the classes are from one version of
Derby and some others from a different version.
NoPutResultSet implements ResultSet. What you're describing would
happen if you used a JDBC 3.0 ResultSet with a version of Derby that
didn't support the JDBC 3.0 methods. But I don't know how that could
happen.
You mentioned that "I've started throwing...LinkageErrors". What
changed in your environment between working ok and throwing Errors?
Regards,
Craig
On Oct 30, 2005, at 6:06 AM, Simon J Whittle wrote:
Dear All,
This is my first post to this list so my apologies for any
conventions/rules I've inadvertently broken :-) My situation
is as follows: there is a commercial application called BlackBoard
which is used by universities to provide learning resources to
students, it's built upon Apache Tomcat and allows 3rd parties to
develop "Building Blocks" (separate tomcat webapps) which can be
integrated into the main BlackBoard application. As part of my
Building Block I have a servlet which creates a database (using the
Cloudscape 10.0 library), and despite a few hic-ups on the learning
curve it uses Java commands to create the database and it seemed to
work fine.
However I've started throwing some bizarre LinkageError's (see
subject) when querying the database, and so I thought I'd try the
latest (10.1.1.0) Derby library except this time I get "SQL
Exception: Java exception: 'loader constraints violated when
linkingorg/apache/derby/iapi/sql/execute/NoPutResultSet class:
java.lang.LinkageError'" when I'm actually creating the tables and
inserting a value for the first time (this didn't cause any
problems with the Cloudscape library). If anybody has encountered
anything like this before then I'd appreciate any assistance - is
it a bug or something I'm doing wrong on my part? Is there a
workaround? I searched http://issues.apache.org/jira for
LinkageError but nothing seemed to be directly related.
Thanks in anticipation.
Simon Whittle