ClassFormatError occurs when method name is wrong
-------------------------------------------------
Key: OPENJPA-721
URL: https://issues.apache.org/jira/browse/OPENJPA-721
Project: OpenJPA
Issue Type: Improvement
Affects Versions: 1.0.0
Environment: Windows, Tomcat 5.5, Spring tomcat weaving 2.05, Oracle
10g
Reporter: Leon Noordermeer
Priority: Minor
A ClassFormatError occures when the case of a referenced method in an orm file
is incorrect.
I imagine this error could be handled a bit more gracefull with a more
informative error message. (this one took me 6 hrs to solve). I guess it should
be handled the same as when the reference to the method can not be found.
example of foo-orm.xml:
[code]
<entity class="Foo">
<table name="FOO" />
<attributes>
<id name="FooId"> <!-- should be fooId -->
<column name="FOO_ID" />
</id>
</attributes>
</entity>
[/code]
example of Foo.java:
[code]
package model;
public class Foo {
public Long fooId;
public Foor() {
}
public Long getFooId() {
return fooId;
}
public void setFooId(Long fooId) {
this.fooId = fooId;
}
}
[/code]
The error will look like this:
[code]
java.lang.ClassFormatError: Repetitive method name/signature in class file
com/aciworldwide/tm/configmodule/model/SecretKey
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1847)
at
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:873)
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1326)
at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1205)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:242)
at
org.apache.openjpa.meta.MetaDataRepository.classForName(MetaDataRepository.java:1298)
at
org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypes(MetaDataRepository.java:1280)
at
org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:276)
at
org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:228)
at
org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:190)
at
org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142)
at
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:192)
at
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:145)
at
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:56)
etc...
[/code]
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.