Re: [mdr-users] Truncated class file error
Martin Matula <[email protected]> Tue, 30 Aug 2005 17:44:01 +0200
| Newsgroups | gmane.comp.java.netbeans.modules.mdr.user |
|---|---|
| Message-ID | <[email protected]> |
Dimitrios, I am not able to reproduce the problem with the XMI you provided. Please try to generate JMI interfaces from this metamodel, compile them and put them on the classpath. Then it should definitely work. If you are able to provide a reproducible example, it would be nice. Martin Dimitrios Kolovos wrote: > Hi, > > I have a very simple meta-model that consists of a package and two > classes. Its XMI follows: > > <?xml version = '1.0' encoding = 'ISO-8859-1' ?> > <XMI xmi.version = '1.2' xmlns:Model = 'org.omg.xmi.namespace.Model' > timestamp = 'Thu Aug 25 00:45:15 BST 2005'> > <XMI.header> > <XMI.documentation> > <XMI.exporter>Netbeans XMI Writer</XMI.exporter> > <XMI.exporterVersion>1.0</XMI.exporterVersion> > </XMI.documentation> > </XMI.header> > <XMI.content> > <Model:Tag xmi.id = 'a4' name = 'javax.jmi.packagePrefix' > annotation = '' > tagId = 'javax.jmi.packagePrefix'> > <Model:Tag.values>org</Model:Tag.values> > <Model:Tag.elements> > <Model:Package xmi.idref = 'a1'/> > </Model:Tag.elements> > </Model:Tag> > <Model:Package xmi.id = 'a1' name = 'SRDB' annotation = 'Simple > Relational DataBase' > isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility > = 'public_vis'> > <Model:Namespace.contents> > <Model:Class xmi.id = 'a2' name = 'Database' annotation = '' > isRoot = 'false' > isLeaf = 'false' isAbstract = 'false' isSingleton = 'false' > visibility = 'public_vis'/> > <Model:Class xmi.id = 'a3' name = 'Table' annotation = '' > isRoot = 'false' > isLeaf = 'false' isAbstract = 'false' isSingleton = 'false' > visibility = 'public_vis'/> > </Model:Namespace.contents> > </Model:Package> > </XMI.content> > </XMI> > > When I try to create an instance of this meta-model I get the > following error. I have searched the MDR website and found the same > problem > (http://mdr.netbeans.org/servlets/ReadMsg?listName=users&msgId=736932) > but unfortunately no resolution. > > [org.netbeans.mdr.Logger] Metamodel specific JMI class > srdb.SrdbPackage not found. Using bytecode generation to create it. > Exception in thread "AWT-EventQueue-0" java.lang.ClassFormatError: > Truncated class file > at java.lang.ClassLoader.defineClass1(Native Method) > at java.lang.ClassLoader.defineClass(Unknown Source) > at > org.netbeans.mdr.handlers.MDRClassLoader.defineClass(MDRClassLoader.java:85) > > at > org.netbeans.mdr.handlers.MDRClassLoader$ClassOutputStream.close(MDRClassLoader.java:215) > > at > org.netbeans.lib.jmi.mapping.ClassFileMapper.closeStream(ClassFileMapper.java:85) > > at > org.netbeans.lib.jmi.mapping.GenericMapper.visitRefObject(GenericMapper.java:381) > > at > org.netbeans.lib.jmi.mapping.GenericMapper.visitRefPackage(GenericMapper.java:401) > > at > org.netbeans.lib.jmi.mapping.GenericMapper.visitRefBaseObject(GenericMapper.java:409) > > at > org.netbeans.mdr.handlers.MDRClassLoader.resolveInterface(MDRClassLoader.java:113) > > at > org.netbeans.mdr.handlers.BaseObjectHandler.resolveClass(BaseObjectHandler.java:147) > > at > org.netbeans.mdr.NBMDRepositoryImpl.getHandler(NBMDRepositoryImpl.java:612) > > at > org.netbeans.mdr.NBMDRepositoryImpl.instantiatePackage(NBMDRepositoryImpl.java:796) > > at > org.netbeans.mdr.NBMDRepositoryImpl.createExtent(NBMDRepositoryImpl.java:482) > > at > org.netbeans.mdr.NBMDRepositoryImpl.createExtent(NBMDRepositoryImpl.java:287) > > at > org.netbeans.mdr.NBMDRepositoryImpl.createExtent(NBMDRepositoryImpl.java:275) > > at > org.xol.models.mdr.MDRModelRepository.addModel(MDRModelRepository.java:71) > > at org.xol.workbench.mdr.editor.MDREditor$1.run(MDREditor.java:147) > at java.awt.event.InvocationEvent.dispatch(Unknown Source) > at java.awt.EventQueue.dispatchEvent(Unknown Source) > at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown > Source) > at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) > at java.awt.EventDispatchThread.pumpEvents(Unknown Source) > at java.awt.EventDispatchThread.pumpEvents(Unknown Source) > at java.awt.EventDispatchThread.run(Unknown Source) > > Any ideas would be appreciated. > > Regards, > Dimitrios >