java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException ... AbstractType in xmlbeans

Posted on 2006-05-15
Last Modified: 2013-11-23
Hello experts,

   I am running an example from apache site, but wouldn't work ... could anyone please give me some help ? thanks.
  The original example is at:
  This example is regarding the AbstractType of xml beans ... does anyone ever deal with this ? Please HELP !!!
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException
      at java.lang.Class.getDeclaredMethods0(Native Method)
      at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
      at java.lang.Class.getMethod0(Unknown Source)
      at java.lang.Class.getMethod(Unknown Source)
      at org.apache.xmlbeans.XmlBeans.buildMethod(
      at org.apache.xmlbeans.XmlBeans.buildNodeMethod(
      at org.apache.xmlbeans.XmlBeans.buildNodeToCursorMethod(
      at org.apache.xmlbeans.XmlBeans.<clinit>(
      at abstractFigures.RootDocument$Factory.newInstance(Unknown Source)
      at org.apache.xmlbeans.samples.abstracttypes.AbstractTypes.buildDocument(
      at org.apache.xmlbeans.samples.abstracttypes.AbstractTypes.main(
   and the main java looks like:

  /*   Copyright 2004 The Apache Software Foundation
 *   Licensed under the Apache License, Version 2.0 (the "License");
 *   you may not use this file except in compliance with the License.
 *   You may obtain a copy of the License at
 *   Unless required by applicable law or agreed to in writing, software
 *   distributed under the License is distributed on an "AS IS" BASIS,
 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *   See the License for the specific language governing permissions and
 *  limitations under the License.
package org.apache.xmlbeans.samples.abstracttypes;

import abstractFigures.*;
import figures.*;
import org.apache.xmlbeans.XmlObject;
import org.apache.xmlbeans.XmlOptions;

 * Test class that builds a document using type substitution
public class AbstractTypes
    public static void main(String[] args)

    public static XmlObject buildDocument(boolean enableOutput)
        XmlOptions opt = (new XmlOptions()).setSavePrettyPrint();

        // Build a new document
        RootDocument doc = RootDocument.Factory.newInstance();
        RootDocument.Root figures = doc.addNewRoot();
        if (enableOutput)
            System.out.println("Empty document:\n" + doc.xmlText(opt) + "\n");

        // Add abstract figures
        Shape s1 = figures.addNewFigure();
        Shape s2 = figures.addNewFigure();
        // Document contains two shapes now
        // Because the shape is abstract, the document will not yet be valid
        if (enableOutput)
            System.out.println("Document containing the abstract types:\n" + doc.xmlText(opt));
            System.out.println("Valid = " + doc.validate() + "\n");

        // Change the abstract figures to concrete ones
        Circle circle = (Circle) s1.changeType(Circle.type);
        Square square = (Square) s2.changeType(Square.type);
        // Document contains two concrete shapes and is valid
        if (enableOutput)
            System.out.println("Final document:\n" + doc.xmlText(opt));
            System.out.println("Vald = " + doc.validate());
Question by:meow00
    LVL 14

    Accepted Solution

    have you added xmlbeans related jar file to your classpath ?
    LVL 1

    Author Comment

    yes ! I did! I use xbean-2.1.0.jar
    LVL 14

    Expert Comment

    please remove it from classpath and tell me the result
    LVL 1

    Author Comment

    import org.apache.xmlbeans.XmlObject;
    import org.apache.xmlbeans.XmlOptions;

    I am in eclipse ... if I remove xbean-2.1.0.jar
    It complains the above things (and some other more) can not be resolved!

    LVL 14

    Expert Comment

    this error is due to a name confliction
    two (or more) classes have the same name, in your classpath
    you should remove some paths to resolve it

    If you are interested , you can test this little demo


    class A {
          public static void main(String[] args) throws Exception {
                Integer a;

    class Integer {
          int a;

    // complie it


    // make a jar file containing Integer.class

    jar -cf a.jar Integer.class

    // run demo

    java -cp a.jar A

    // you will encounter

    Exception in thread "main" java.lang.NoClassDefFoundError: A
    LVL 14

    Expert Comment

    really sorry, my demo was a pitfall, :-)
    LVL 14

    Expert Comment

    ignore my last two comments
    LVL 1

    Author Comment

    mmm ... so maybe I created the jar file in a wrong way ?!?

    I did it as follows:

    [meow@cat abstracttypes]$ls
    abstractBase.xsd      myfigures.jar  xbean.jar
    AbstractTypes.jar  myfigures.xsd

    [meow@cat abstracttypes]$ scomp -out AbstractTypes.jar abstractBase.xsd
    Time to build schema type system: 1.074 seconds
    Time to generate code: 0.073 seconds
    Time to compile code: 1.15 seconds
    Compiled types to: AbstractTypes.jar

    [meow@cat abstracttypes]$ scomp -out myfigures.jar myfigures.xsd abstractBase.xsd
    Time to build schema type system: 0.854 seconds
    Time to generate code: 0.085 seconds
    Time to compile code: 1.203 seconds
    Compiled types to: myfigures.jar

     maybe I did " scomp -out myfigures.jar myfigures.xsd abstractBase.xsd" wrong ?!?

     the instruction was:
    Step1. Create the schema file "abstractBase.xsd" and compile it
    to abstractbase.jar.
    Step2. Create a Schema that implements the abstract types defined in
    "abstractBase.xsd", and compile it with "abstractbase.jar" on the classpath.
    Step3. Use the jars created in steps 1 and 2 to create an instance document
    using the concrete types.
      Maybe I did something wrong here while creating the jar ??? please help! thanks.

    LVL 1

    Author Comment

    thanks for the help. problem solved. I need to add xmlpublic.jar and jsr173_1.0_api.jar

    Featured Post

    How to run any project with ease

    Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
    - Combine task lists, docs, spreadsheets, and chat in one
    - View and edit from mobile/offline
    - Cut down on emails

    Join & Write a Comment

    Suggested Solutions

    Title # Comments Views Activity
    Java 1603 Error 2 27
    json example 39 80
    What is the latest versions eclipse neon 2 60
    Java Message handling in Service Layer 3 22
    After being asked a question last year, I went into one of my moods where I did some research and code just for the fun and learning of it all.  Subsequently, from this journey, I put together this article on "Range Searching Using Visual Basic.NET …
    Are you developing a Java application and want to create Excel Spreadsheets? You have come to the right place, this article will describe how you can create Excel Spreadsheets from a Java Application. For the purposes of this article, I will be u…
    Video by: Michael
    Viewers learn about how to reduce the potential repetitiveness of coding in main by developing methods to perform specific tasks for their program. Additionally, objects are introduced for the purpose of learning how to call methods in Java. Define …
    This video teaches viewers about errors in exception handling.

    734 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    18 Experts available now in Live!

    Get 1:1 Help Now