users@jaxb.java.net

jaxb-reflection Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/istack/FinalArrayList

From: Raul Selas <raul.selas_at_gmail.com>
Date: Fri, 18 May 2007 12:04:22 +0200

Hi all!!

Im trying jaxb2-reflection library... and I receive the next exception:

Exception in thread "main" java.lang.NoClassDefFoundError:
com/sun/istack/FinalArrayList
    at org.jvnet.jaxb.reflection.model.impl.ClassInfoImpl.getProperties(Unknown
Source)
    at
org.jvnet.jaxb.reflection.model.impl.RuntimeClassInfoImpl.getProperties(Unknown
Source)
    at org.jvnet.jaxb.reflection.model.impl.ModelBuilder.getClassInfo(Unknown
Source)
    at org.jvnet.jaxb.reflection.model.impl.RuntimeModelBuilder.getClassInfo(Unknown
Source)
    at org.jvnet.jaxb.reflection.model.impl.RuntimeModelBuilder.getClassInfo(Unknown
Source)
    at org.jvnet.jaxb.reflection.model.impl.ModelBuilder.getTypeInfo(Unknown
Source)
    at org.jvnet.jaxb.reflection.model.impl.ModelBuilder.getTypeInfo(Unknown
Source)
    at org.jvnet.jaxb.reflection.JAXBModelFactory.create(Unknown Source)
    at org.jvnet.jaxb.reflection.JAXBModelFactory.create(Unknown Source)
    at org.jvnet.jaxb.reflection.JAXBModelFactory.create(Unknown Source)
    at docbook.tools.SchemaReflection.main(SchemaReflection.java:104)


line 104 is: RuntimeTypeInfoSet model = JAXBModelFactory.create(
Book.class);

There is no a com.sun.istack.FinalArrayList class in my jre classpath but a
com.sun.istack.internal.FinalArrayList class.

I've tried with different versions of jaxb from
https://jaxb2-reflection.dev.java.net/ (nightly and stable releases)

There is a bug with the library? Im doing something wrong?


Thanks in advance,

Raul



/*
 * SchemaReflection.java
 *
 * Created on 10 de mayo de 2007, 12:33
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package docbook.tools;


import docbook.schema.binder.Book;
import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElements;
import javax.xml.bind.annotation.XmlID;
import javax.xml.bind.annotation.XmlIDREF;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;

import org.jvnet.jaxb.reflection.JAXBModelFactory;
import org.jvnet.jaxb.reflection.model.runtime.RuntimeClassInfo;
import org.jvnet.jaxb.reflection.model.runtime.RuntimePropertyInfo;
import org.jvnet.jaxb.reflection.model.runtime.RuntimeTypeInfoSet;
import org.jvnet.jaxb.reflection.runtime.IllegalAnnotationsException;

/**
 *
 * @author raul
 */
public class SchemaReflection {


    /**
     * @param args
     * the command line arguments
     */
    public static void main(String[] args) {
        //new SchemaReflection();

        try {
            RuntimeTypeInfoSet model = JAXBModelFactory.create(Book.class);
            RuntimeClassInfo ci = (RuntimeClassInfo) model
                    .getTypeInfo(Book.class);
            System.out.println(ci.getElementName());

            for (RuntimePropertyInfo p : ci.getProperties()) {

                System.out.println(p.getName() + ' ' + p.kind());
            }

        } catch (IllegalAnnotationsException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }