NoClassDefFoundError - Doclet class??

Hi,
I'm trying to use a new doclet for the first time (JUnitDoclet) and I'm getting a NoClassDefFoundError right off the bat which is confounding me (see below).
I have the 1.4.0 JDK installed on Windows 2000.
Any suggestions?
Josh
E:\projects\OrbitalExpress\OE_ClearCase\GroundSegment\Code>c:\j2sdk1.4.0\bin\jav
adoc -doclet com.objectfab.tools.junitdoclet.JUnitDoclet -d ../Test ca.mdrobotic
s.oedms.mgs.remote
java.lang.NoClassDefFoundError: com/sun/javadoc/Doclet
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:509)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12
3)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:246)
at java.net.URLClassLoader.access$100(URLClassLoader.java:54)
at java.net.URLClassLoader$1.run(URLClassLoader.java:193)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)
at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
at java.lang.ClassLoader.loadClass(ClassLoader.java:262)
at com.sun.tools.javadoc.DocletInvoker.<init>(DocletInvoker.java:72)
at com.sun.tools.javadoc.Start.setDocletInvoker(Start.java:320)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:161)
at com.sun.tools.javadoc.Start.begin(Start.java:114)
at com.sun.tools.javadoc.Main.execute(Main.java:44)
at com.sun.tools.javadoc.Main.main(Main.java:34)
javadoc: fatal error
1 error

Thanks Doug.
I tried -docletpath as suggested but received the same error. I also tried the example from the MIF page, but with the same result. It seems to me, from the stack trace, that it's the com.sun.javadoc.Doclet class that cannot be found. I've verified that it is indeed in tools.jar
As an experiment I tried "java com.sun.javadoc.Doclet" expecting to see a "No such method" exception, but instead get a NoClassDefFound exception. Do I need to set a path to tools.jar? I tried including it in the classpath but with no luck.
I realise it must be the way my system is set up, but this is a pretty standard Java install. I'm also wondering if having other tools installed (JBUilder, Rational Dev. Studio) might be an issue, but I've tried stripping them from the classpath with no change.
I'm going to try the MIF doclet later today. If you have any other suggestions I'd appreciate it.
josh

Similar Messages

  • Exception in thread "main" java.lang.NoClassDefFoundError: Emp/class

    Dear all,
    It occur 'Exception in thread "main" java.lang.NoClassDefFoundError: Emp/class' error when I test a oracle java sample.I've already SET CLASSPATH=C:\ORACLE\JDBC\LIB\CLASSE~1.ZIP.
    following is the source code:
    import java.sql.*;
    class Emp
    public static void main (String args [])
    throws SQLException
    // Load the Oracle JDBC driver
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    // Connect to the database
    // You must put a database name after the @ sign in the connection URL.
    // You can use either the fully specified SQL*net syntax or a short cut
    // syntax as <host>:<port>:<sid>. The example uses the short cut syntax.
    Connection conn =
    DriverManager.getConnection ("jdbc:oracle:oci8:@localhost:1521:orcl",
                        "scott", "tiger");
    // Create a Statement
    Statement stmt = conn.createStatement ();
    // Select the ENAME column from the EMP table
    ResultSet rset = stmt.executeQuery ("select ENAME from EMP");
    // Iterate through the result and print the employee names
    while (rset.next ())
    System.out.println (rset.getString (1));
    Can you tell me what should also be set in classpath?
    thanks in advance.

    You are right, the program is absolutely correct and I've run it before.but why set PATH=%PATH%;C:\ORACLE\JDBC\LIB\CLASSE~1.ZIP?I don't think it is correct.
    I've ever run this jdbc program before and remeber only set classpath(path is also be set only for run executable program, for example set path=%path%;c:\j2sdk\bin),
    I think the only difference with before is:
    1,oracle version is changed from enterprise version to personal version
    2,OS is changed from NT to windows 98
    but i dont know if it lead to problem and can you give me some advice?

  • Exception in thread "main" java.lang.NoClassDefFoundError: SayHi/class

    Program - c:\jdk1.3.1_01\demo\SayHi.java
    import java.io.*;
    class SayHi
    public static void main(String[] args)
    System.out.println("hellow Worls");
    Operating Environment-
    1) New installation of Windows Advance 2000 Server. No other installatons.
    2) Installed j2sdk-1_3_1_01a-win.exe which I downloaded today.
    3) Modified path - PATH=c:\jdk1.3.1_01\bin;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem
    4 Created the above program in c:\jdk1.3.1\demo
    4a) javac SayHi.java
    4b) java SayHi.class
    ERROR MESSAGE ENCOUNTERED
    Exception in thread "main" java.lang.NoClassDefFoundError: SayHi/class
    5) I've experimented with the -classpath
    6) I've followed the installation notes for Version 1.3.1
    and searched the support site and found numerious problems in this area.
    7) I've encountered this same problem on Windows 2K Professional.
    I need some help getting the tools to work

    Try running the sample by typing:
    java SayHi
    I hope you're using a book or taking a course to learn Java. Pay attention to the details.

  • NoClassDefFoundError extending class in separate JAR

    I have a class Foo which gets called from my servlet (extends HttpServlet) class. Both Foo and the servlet class are located in WEB-INF/classes and are deployed as part of the war file. Class Foo extends class Bar, which is a different .jar file located in the /WEB-INF/lib directory of the webapp. When I attempt to create an instance of Foo, I get the following exception:
    java.lang.NoClassDefFoundError: /general/client/common/beans/Bar
         at java.lang.ClassLoader.defineClass1(Native Method)
         at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
         at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
         at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
         at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
         at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
         at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1267)
         at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1198)
         at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
         at server.DBServlet.createFoo(DBServlet.java:236)
         at server.DBServlet.processInput(DBServlet.java:333)
         at server.DBServlet.doGet(DBServlet.java:154)
         at server.DBServlet.doPost(DBServlet.java:205)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
         at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
         at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:419)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
         at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:667)
         at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
         at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
         at java.lang.Thread.run(Thread.java:595)
    I'm running this on Windows, and found if I added the classpath the the jar file where the Bar class is located, that it worked fine. But my expectation is that the jar file should have been found because it is in the /WEB-INF/lib dir. There is a line the Tomcat docs that says:
    "Last, any JAR containing servlet API classes will be ignored by the classloader. All other class loaders in Tomcat 5 follow the usual delegation pattern."
    So maybe I need to do something special to load the Bar class, or there's something strange about the way the classes and jars are being loaded that I don't fully understand. I was able to instantiate the Bar class directly from w/in my servlet class, I just can't create an instance of the Foo class that is in /WEB-INF/classes along with the servlet class. So I'm not convinced that the Bar class or associated jar file isn't being loaded.
    I don't want to have to set the classpath explicitly, so I'm looking for advice on why I'm getting this exception and how best to dynamically load the classes I need.
    Thanks.
    ab.

    Thanks for hanging in there so far. Here's the specifics if you want to try to re-create this.
    I have a webapp, which contains the class DBServlet:
    package com.hm.dhca.server;
    public class DBServlet extends HttpServlet
    // Stuff
         public void processInput()
              Foo foo = new Foo();
    The webapp also contains the class Foo:
    package com.hm.dhca.common;
    import com.general.client.common.beans.Bar;
    public class Foo extends Bar
         public Foo()
              super();
              System.out.println("Foo");
    Both of the classes are located in webapps\DHCA\WEB-INF\classes...
    The Bar class is in a separate jar called HMJCommon.jar in the webapps\DHCA\WEB-INF\lib dir.
    Class Bar looks like this:
    package com.general.client.common.beans;
    public class Bar
         public Bar()
              System.out.println("Bar");
    DBServlet creates an instance of Foo as:      
    Foo foo = new Foo();
    Which throws the Exception:
    java.lang.NoClassDefFoundError: com/general/client/common/beans/Bar
         at java.lang.ClassLoader.defineClass1(Native Method)
         at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
         at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
         at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
         at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
         at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
         at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1267)
         at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1198)
         at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
         at com.hm.dhca.server.DBServlet.processInput(DBServlet.java:236)
         at com.hm.dhca.server.DBServlet.doGet(DBServlet.java:154)
         at com.hm.dhca.server.DBServlet.doPost(DBServlet.java:205)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
         at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
         at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:419)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
         at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:667)
         at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
         at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
         at java.lang.Thread.run(Thread.java:595)
    Clues:
    1. All three classes exist in the locations specified above - I have checked this manually.
    2. Within DBServlet, I can create an instance of Bar. But I cannot create an instance of Foo without the exception.
    3. If I move the Foo class from package com.hm.dhca.common to package com.hm.dhca.server (same package as DBSerlvet), everything works fine.
    4. If I modify Tomcat's classpath to include the HMJCommon.jar, it works fine (as previously discussed).
    Theory:
    I have a vague theory that what is happening is that two different webappclassloaders are loading the Foo and Bar classes, for whatever reason. As a result, they can't see each other, because neither is up the hierarchy tree from the other.
    This does not explain how I can instantiate Bar from DBServlet, but not Foo.
    Hope this helps. I think I've corrected previous mistake w/ removing too much from package naming. I'm resorting to the workaround in clue #3 for the moment. But it's not the correct solution, and it's showing that I don't really understand what's going on here.

  • Very Strange java.lang.NoClassDefFoundError. Class exists in classpath

    Dear Forum:
    Occasionally, I run into strange java.lang.NoClassDefFoundErrors.
    Here is an example: I have two different classes Class1.class and Class2.class in different jars. Both use a common class: AppContext in third jar file.
    If Class1 tries to use AppContext, it works just fine. However, if Class1 instantiates Class2 and Class2 tries to use AppContext, you get the nasty java.lang.NoClassDefFoundError, in the same thread.
    After a struggle and trying out different orders in class / library paths, the error goes away. However, I do want to know what is the better way to understand and resolve this issue?
    Here is a sample code, for illustration purposes only:
    File:Class1.java_
    Public class Class1
         Public Class1 ()
    AppContext.getLogger().logDebug(�test1�);
    //the above line works just fine.
    try
    Class2 something = new Class2();
    catch(Error ex)
         //here we get a java.lang.NoClassDefFoundError for AppContext, which works just fine from Class1.java
         ex.printstackTrace();
    File:Class2.java:_
    Public class Class2
    Public Class2()
    AppContext.getLogger().logDebug("test2");
    }

    I think I have answer to this mystery.
    This was an issue with the jdeveloper, where the jar file throwing the class not found exception was loaded by a different classloader and the jar file which could find the class was loaded by another classloader.
    I forgot to mention that this was a j2ee application being run by the internal j2ee server of Jdeveloper.

  • JavaDoc export using own Doclet

    Hi,
    I'm working on a project build of several PlugIn-Projects. I want to generate a JavaDoc using my own Doclet. Within the doclet code I try to instantiate classes. When trying to instantiate these classes I always get NoClassDefFoundExceptions. These Exceptions refering to classes the "new ones" are inherited from. I put all classpath required in the "Doclet class path" field of the export wizard. Does somebody know how to fix this problem?
    Thanks
    H_Holli

    First, there is no NoClassDefFoundException. It's either NoClassDefFoundError or ClassNotFoundException.
    Second, if a NoClassDefFoundError is thrown in your custom doclet code, then the class for which the definition is not found is not in the relevant class- or doclet path.
    Before trying to get your doclet to work from within an IDE, test your doclet with command line JavaDoc. If this works, you will know that you misconfigured your IDE's doclet support. If this does not work, you need to fix your doclet or your doclet configuration.
    Anyways, you will have to ensure that all classes that need to be loaded by your doclet are in the doclet path. This includes all the super classes of your custom stuff, except for standard JDK and JDK tools classes. (JDK tools classes are those classes in the tools.jar which comes with the JDK. It contains the JavaDoc implementation and therefore is implictly available.)

  • NoClassDefFoundError error when deploying a resource adapter rar file

    Hi,
    Iam trying to deploy a resource adapter(RA) rar file which uses orabpel.jar.
    1. When i dont package the orabpel.jar along with the adapter, i get the following error during deployment
    [Apr 19, 2007 8:05:00 PM] Connector Module Deployer for BRMAdapter STARTS.
    [Apr 19, 2007 8:05:00 PM] Copy the archive to E:\product\10.1.3.1\OracleAS_1\j2ee\home\connectors\BRMAdapter\BRMAdapter.rar
    [Apr 19, 2007 8:05:00 PM] Unpacking BRMAdapter.rar
    [Apr 19, 2007 8:05:00 PM] Done unpacking BRMAdapter.rar
    [Apr 19, 2007 8:05:00 PM] Starting up resource adapter
    [Apr 19, 2007 8:05:00 PM] Exception: NoClassDefFoundError: oracle/tip/adapter/api/exception/PCRetriableResourceException
    [Apr 19, 2007 8:05:00 PM] Operation failed with error: oracle/tip/adapter/api/exception/PCRetriableResourceException
    2. If i package the orabpel.jar file along with the RA, i get ClassCastException.
    3. I tried including the imported-shared-libraries section in the packaged oc4j-ra.xml, but this gets overwritten as part of the deployment.
    4. I removed the above class which gave NoClassDefFoundError and then tried deploying and got the following error
    [Apr 19, 2007 7:49:07 PM] Connector Module Deployer for BRMAdapter STARTS.
    [Apr 19, 2007 7:49:07 PM] Copy the archive to E:\product\10.1.3.1\OracleAS_1\j2ee\home\connectors\BRMAdapter\BRMAdapter.rar
    [Apr 19, 2007 7:49:07 PM] Unpacking BRMAdapter.rar
    [Apr 19, 2007 7:49:07 PM] Done unpacking BRMAdapter.rar
    [Apr 19, 2007 7:49:07 PM] Starting up resource adapter
    [Apr 19, 2007 7:49:07 PM] Exception: NoClassDefFoundError: Missing class: oracle.tip.adapter.api.OracleConnectionFactory Dependent class: oracle.tip.adapter.brm.BRMConnectionFactory Loader: BRMAdapter:0.0.0 Code-Source: /E:/product/10.1.3.1/OracleAS_1/j2ee/home/connectors/BRMAdapter/BRMAdapter/BRMAdapter.jar Configuration: in E:\product\10.1.3.1\OracleAS_1\j2ee\home\connectors\BRMAdapter\BRMAdapter The missing class is available from the following locations: 1. Code-Source: /E:/product/10.1.3.1/OracleAS_1/bpel/lib/orabpel.jar (from in /E:/product/10.1.3.1/OracleAS_1/j2ee/home/config/server.xml) This code-source is available in loader oracle.bpel.common:10.1.3.
    [Apr 19, 2007 7:49:07 PM] Operation failed with error: Missing class: oracle.tip.adapter.api.OracleConnectionFactory Dependent class: oracle.tip.adapter.brm.BRMConnectionFactory Loader: BRMAdapter:0.0.0 Code-Source: /E:/product/10.1.3.1/OracleAS_1/j2ee/home/connectors/BRMAdapter/BRMAdapter/BRMAdapter.jar Configuration: in E:\product\10.1.3.1\OracleAS_1\j2ee\home\connectors\BRMAdapter\BRMAdapter The missing class is available from the following locations: 1. Code-Source: /E:/product/10.1.3.1/OracleAS_1/bpel/lib/orabpel.jar (from in /E:/product/10.1.3.1/OracleAS_1/j2ee/home/config/server.xml) This code-source is available in loader oracle.bpel.common:10.1.3.
    Here is the oc4j-ra.xml i package:
    <?xml version="1.0"?>
    <oc4j-connector-factories xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.oracle.com/technology/oracleas/schema/oc4j-connector-factories-10_0.xsd"
    schema-major-version="10" schema-minor-version="0">
    <imported-shared-libraries>
    <import-shared-library name="oracle.bpel.common"></import-shared-library>
    </imported-shared-libraries>
    <connector-factory location="eis/BRM" connector-name="OracleBRMAdapter">
    <config-property name="ConnectionString" value="ip blrhpdv3 12006"></config-property>
    <config-property name="DBNumber" value="1"></config-property>
    <connection-pooling use="none"/>
    <security-config use="none"/>
    <connectionfactory-interface>
    javax.resource.cci.ConnectionFactory
    </connectionfactory-interface>
    </connector-factory>
    </oc4j-connector-factories>
    Currently i package orabpel.jar file along with the RA rar file, deploy, later go and modify the oc4j-ra.xml from application-deployments/... to include the imported-shared-libraries, remove the orabpel.jar from the connectors/BRMAdapter directory, restart the AS and it works
    Iam using Oracle AS 10.1.3 as part of the SOA Suite.
    Any help would be appreciated.

    Found a soln, add the codesource to the j2ee instance application.xml
    eg adding the following
    <imported-shared-libraries>
    <import-shared-library name="oracle.bpel.common"/>
    </imported-shared-libraries>
    solves the problem. Make sure the shared libraries are installed and is added to the instance server.xml
    This is described in "Oracle® Containers for J2EE Developer’s Guide 10g (10.1.3.1.0)"
    But not sure if the end customers need to be told to edit the configuration file manually.

  • How to maintain standard doclet's Javadoc options in custom doclet?

    I'm having some difficulties with a custom doclet. I've simply subclassed some of the standard doclet classes to do some custom html output (basically wrapping the output in the headers/footers/navigation of our department intranet). I want to use the standard doclet's configuration and a few of the standard doclet's Javadoc options (-nonavbar and -stylesheetfile, for example). I did not subclass ConfigurationStandard.java because I had no changes that I wanted to make to it. I'm not adding any new tags or command line options, but shouldn't I be able to use the standard doclet's command line options since I'm importing com.sun.tools.doclets.standard.*?

    Does your main doclet class (which has the start(RootDoc method)) also contain the optionLength and validOptions method.
    Check this url for more info http://java.sun.com/j2se/1.3/docs/tooldocs/javadoc/overview.html
    If you are just supporitng the standard doclet optiosn then you can implement these methods in ur doclet and internally call the corresponding methods of the standard doclet to get things done.
    public static int optionLength(String option) {
        return Standard.optionLength(option);
    public static boolean validOptions(String options[][],  DocErrorReporter reporter) {
        return Standard.validOptions(options, reporter);
    }Hope it helps

  • Can't get "Simple Example Doclet" to run -- Cannot find

    I am trying to run the "Simple Example Doclet" at http://java.sun.com/j2se/1.3/docs/tooldocs/javadoc/overview.html.
    It appears to compile ok, but when I go to run it I get the message "javadoc: Cannot find doclet class ListClass".
    Listed below is:
         1. The execution command and error message
         2. The version (output of javadoc -J-version)
         3. The javac compile command and input and output files
    All directories have been kept the same as in the example.
    Any help would be appreciated.
    Thanks
    1. C:\jdk1.3>javadoc -doclet ListClass -classpath C:\jdk1.3\lib\tools.jar MyClass.java
    javadoc: Cannot find doclet class ListClass
    1 error
    2. javadoc -J-version
         gives
              java version "1.3.1_01"
              Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_01)
              Java HotSpot(TM) Client VM (build 1.3.1_01, mixed mode).
    3. javac -classpath C:\jdk1.3\lib\tools.jar ListClass.java
         appears to give good compile ....
              e. g. Input source file ListClass.java is as follows:
                   import com.sun.javadoc.*;
                   public class ListClass {
                   public static boolean start(RootDoc root) {
                   ClassDoc[] classes = root.classes();
                   for (int i = 0; i < classes.length; ++i) {
                   System.out.println(classes);
                   return true;
              and.....
              decompiled ListClass.class file is as follows:
                   // Decompiled by DJ v2.8.8.54 Copyright 2000 Atanas Neshkov Date: 10/11/2001 4:09:46 PM
                   // Home Page : http://members.fortunecity.com/neshkov/dj.html - Check often for new version!
                   // Decompiler options: packimports(3)
                   // Source File Name: ListClass.java
                   import com.sun.javadoc.RootDoc;
                   import java.io.PrintStream;
                   public class ListClass
                   public ListClass()
                   public static boolean start(RootDoc rootdoc)
                   com.sun.javadoc.ClassDoc aclassdoc[] = rootdoc.classes();
                   for(int i = 0; i < aclassdoc.length; i++)
                   System.out.println(aclassdoc[i]);
                   return true;

    Sorry to be so late in getting back to you .. I was on vacation.
    ListClass is in the current directory. I did get it to work however... In order to get it to work I had to do two things:
    1. use -docletpath (even thought it was in the current path) e. g. -docletpath C:\jdk1.3\ListClass.jar
    AND
    2. Make the class file a jar file -- I could not get it to work otherwise.
    p.s. the typo was a decompiler error.

  • Class files created with JBuilder don't run from command line ?

    I have created an Application with JBuilder which is
    running perfectly from within JBuilder.
    However when I tried to run the app from the command line using c:\java ...... I got an error
    Exception in thread "main" java.lang.NoClassDefFoundError: ItasApplication/class
    I also tried to compile my .java files with javac which
    worked perfectly but I got the same message when trying
    to run the app!
    Can you help me ?

    I did this and I got this message :
    Exception in thread "main" java.lang.NoClassDefFoundError: ItasApplication (wron
    g name: itasgui/ItasApplication)
    at java.lang.ClassLoader.defineClass0(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:11
    1)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:248)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:297)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:286)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)

  • "Could not find the main class" when running a jar

    Hi, I'm trying to create and run a jar from my application, but I can't figure out how to properly set an entry-point. Looking at the Java Tutorials http://java.sun.com/docs/books/tutorial/deployment/jar/index.html I still can't get it to work.
    I have a directory myApp, which contains a directory images and some class files, including mainClass.class. I also have a manifest Manifest.txt in the directory myApp with the following line:
    Main-Class: mainClass.class
    + one empty line
    I create a jar successfully, while inside the myApp directory, with the following command:
    jar cfm myApp.jar Manifest.txt *.class images\*.*
    I then proceed to run the jar with the following command:
    java -jar myApp.jar
    and receive the following error:
    Exception in thread "main" java.lang.NoClassDefFoundError: myApp/class
    My completely uneducated guess is that there is something wrong with my manifest. The tutorial says that the line should be:
    Main-Class: MyPackage.MyClass
    I'm assuming that I get the error because I didn't specify a package, which I didn't do because I didn't know what to put there. Do I even have a package?
    Can anyone tell me what I've done wrong? thanks.
    Message was edited by:
    SmurfZG

    One problem is you are specifying a file name instead of a class name. It probably should beMain-Class: mainClassA good test is to run your app before jaring it - if you run it with "java mainClass" then the Main-Class attribute must be mainClass.
    Also class naming conventions say that class names should start with a capital letter - MainClass for example. It is just a convention, but it is easier to get help when you follow conventions.

  • Importing WebService class into Forms10g

    Hi ,
    I want to import webservice from Jdeveloper in Forms10g.I am using Jdeveloper 10.1.3.4 complaint with JDK 1.4. When I import the class in Forms10g from Jdeveloper it gave me error:
    Importing Class Proxy.classes.oracle.srtutorial.datamodel.proxy.SendServiceSoapClient...
    Exception occurred: java.lang.UnsupportedClassVersionError: Proxy/classes/oracle/srtutorial/datamodel/proxy/SendServiceSoapClient (Unsupported major.minor version 49.0)
    I figured out that this error is due to different versions of JDK used in Oracle Forms10g(JDK 1.3) and Jdeveloper 10.1.3.4(JDK 1.4). So I changed the compile properties in Jdev to 1.3.
    After changing this to 1.3 when I import the class the previous error is resolved but I get another error :
    Importing Class Proxy.classes.oracle.srtutorial.datamodel.proxy.SendServiceSoapClient...
    Exception occurred: java.lang.NoClassDefFoundError: Proxy/classes/oracle/srtutorial/datamodel/proxy/SendServiceSoapClient (wrong name: oracle/srtutorial/datamodel/proxy/SendServiceSoapClient)
    Please help how to resolve this.
    Regards,
    Noman
    Edited by: user773433 on Aug 11, 2009 4:33 AM

    Hi,
    I have tried. The problem is when I make the JAR file in Jdeveloper and Change the class path in Windows. The Jar doesnt shows up in Formgs10g when we import the class. I have tried several times by adding the path of JAR file in windows environment but still it doesnt shows up..
    Regards,
    Edited by: user773433 on Aug 12, 2009 10:54 AM

  • Package names missing when specifying classes

    Hi!
    I need to generate Javadoc for some (not all) of the classes in one of the packages. So I specified the class names in the batch file (thanks again, Doug!) instead of specifying the package name. Now only the classes in the package have HTMLs, but the package is missing from overview-tree.html, package-list, index.html and whatever.
    Any ideas?
    Thanks!

    Hi Doug:
    I used your link, installed 1.4, and now get the following message when I try to generate Javadoc with MIF Doclet:
    javadoc: In doclet class com.sun.tools.doclets.mif.MIFDoclet, method start has thrown an exception java.lang.reflect.In
    vocationTargetException
    java.lang.NoSuchMethodError: com.sun.tools.doclets.DirectoryManager.createDirectory(Ljava/lang/String;)V
    at com.sun.tools.doclets.mif.MIFObjectWriter.genWriter(MIFObjectWriter.java:98)
    at com.sun.tools.doclets.mif.MIFObjectWriter.init(MIFObjectWriter.java:76)
    at com.sun.tools.doclets.mif.MIFObjectWriter.<init>(MIFObjectWriter.java:50)
    at com.sun.tools.doclets.mif.MIFOverviewObjectWriter.<init>(MIFOverviewObjectWriter.java:64)
    at com.sun.tools.doclets.mif.MIFConfiguration.initOptions(MIFConfiguration.java:746)
    at com.sun.tools.doclets.mif.MIFDoclet.start(MIFDoclet.java:51)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:42)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:28)
    at java.lang.reflect.Method.invoke(Method.java:313)
    at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:196)
    at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:95)
    at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:289)
    at com.sun.tools.javadoc.Start.begin(Start.java:114)
    When I try to generate "regular" HTML Javadoc (without MIF Doclet), I get the following:
    Building tree for all the packages and classes...
    javadoc: In doclet class com.sun.tools.doclets.standard.Standard, method start has thrown an exception java.lang.reflec
    t.InvocationTargetException
    java.lang.ClassCastException: com.sun.tools.javac.v8.code.Type$ErrorType
    at com.sun.tools.javadoc.ClassDocImpl.<init>(ClassDocImpl.java:111)
    at com.sun.tools.javadoc.ClassDocImpl.<init>(ClassDocImpl.java:134)
    at com.sun.tools.javadoc.DocEnv.getClassDoc(DocEnv.java:388)
    at com.sun.tools.javadoc.ClassDocImpl.superclass(ClassDocImpl.java:353)
    at com.sun.tools.doclets.ClassTree.processClass(ClassTree.java:139)
    at com.sun.tools.doclets.ClassTree.processClass(ClassTree.java:144)
    at com.sun.tools.doclets.ClassTree.buildTree(ClassTree.java:108)
    at com.sun.tools.doclets.ClassTree.<init>(ClassTree.java:67)
    at com.sun.tools.doclets.standard.Standard.startGeneration(Standard.java:105)
    at com.sun.tools.doclets.standard.Standard.start(Standard.java:45)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:42)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:28)
    at java.lang.reflect.Method.invoke(Method.java:313)
    at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:196)
    at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:95)
    at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:289)
    at com.sun.tools.javadoc.Start.begin(Start.java:114)
    at com.sun.tools.javadoc.Main.execute(Main.java:44)
    at com.sun.tools.javadoc.Main.main(Main.java:34)
    In both cases, nothing is generated....
    What am I doing wrong?
    Thanks
    Benzi

  • EJB container caught java.lang.NoClassDefFoundError package/classname

    Hello,
    If i start the Websphere 5.1 Test Environment with my EAR deployed in it the following Error appears:
    EJB container caught java.lang.NoClassDefFoundError: package/class
         at java.lang.Class.getDeclaredMethods0(Native Method)
         at java.lang.Class.privateGetDeclaredMethods(Class.java(Compiled Code))
         at java.lang.Class.privateGetPublicMethods(Class.java:1911)
         at java.lang.Class.getMethods(Class.java:909)
         at com.ibm.ejs.container.util.DeploymentUtil.getMethods(DeploymentUtil.java:124)
         at com.ibm.ejs.container.BeanMetaData.initializeBeanMethods(BeanMetaData.java:1566)
         at com.ibm.ejs.container.BeanMetaData.completeInitialization(BeanMetaData.java:1403)
         at com.ibm.ws.runtime.component.EJBContainerImpl.createBeanMetaData(EJBContainerImpl.java:1039)
         at com.ibm.ws.runtime.component.EJBContainerImpl.createModuleMetaData(EJBContainerImpl.java:830)
         at com.ibm.ws.runtime.component.EJBContainerImpl.createMetaData(EJBContainerImpl.java:1575)
         at com.ibm.ws.runtime.component.MetaDataMgrImpl.createFactoryMetaData(MetaDataMgrImpl.java:115)
         at com.ibm.ws.runtime.component.MetaDataMgrImpl.createMetaData(MetaDataMgrImpl.java:159)
         at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:350)
         at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:578)
         at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:311)
         at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:268)
         at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:536)
         at com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:413)
         at com.ibm.ws.runtime.component.ApplicationServerImpl.start(ApplicationServerImpl.java:152)
         at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:536)
         at com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:413)
         at com.ibm.ws.runtime.component.ServerImpl.start(ServerImpl.java:246)
         at com.ibm.ws.runtime.WsServer.start(WsServer.java:128)
         at com.ibm.ws.runtime.WsServer.main(WsServer.java:225)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:85)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:58)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:60)
         at java.lang.reflect.Method.invoke(Method.java:391)
         at com.ibm.ws.bootstrap.WSLauncher.run(WSLauncher.java:222)
         at java.lang.Thread.run(Thread.java:570)
    Does anyone know where the failure could lie?
    - Thanks and regards
    Fabian

    Hello again,
    What do you exactly mean by saying:
    Did you create the deployment code?
    I deployed the EJB on the Application Server is there anything else i have to do?
    -regards
    Fabian

  • Missing .class file

    I run "javac" and looks that javac compile file "HelloWorldApp.java", but when I try to run "java HelloWorldApp" I have error
    Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorldApp/class
    If I go to my directory I can no see .class file. Why?
    I set varible for PATH and CLASSPATH ....

    I see where problem is ...
    I set PATH but does not work ... this is how looks
    like
    %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System
    32\Wbem;C:\Program Files\Cisco\Call Manager Attendant
    Console\jre1.4\bin;C:\Program Files\Microsoft SQL
    Server\80\Tools\BINN;C:\Program
    Files\Java\jdk1.6.0\bin;
    After I run C:\> javac HelloWorldApp.java , javac
    compile second copy of "HelloWorldApp.java" located
    in C:\
    On this location I found .class file ...
    (I was thinking if I set PATH, I have to save application there tooNo, PATH is an environment variable that tells the operating system where to look for executable files. That tells Windows where to find the .exe files like javac and java and jar.
    ..or when I call "javac" <file
    name>, I have to be in that directory where I saved
    file)Yes.
    I set CLASSPATH to "C:\Program
    Files\Java\jdk1.6.0\bin" and this looks like works
    fine.No, this is a waste. In spite of what that tutorial tells you, there's no need for a CLASSPATH environment variable. (Yours is wrong, BTW.) CLASSPATH is for the JVM. It tells the compiler and runtime where to look for .class files that it needs.
    The right way to set CLASSPATH is using the -classpath option on javac.exe and java.exe. Read those docs.
    After I run "java HelloWorldApp" I have error because
    CLASSPATH is set for diferent location ...java.exe ignores your CLASSPATH anyway.
    >
    When I moved my .class file from loaction "C:\" to
    "C:\Program Files\Java\jdk1.6.0\bin " and run
    "C:\>java HelloWorldApp", I did not have any error
    and application works fine.That's wrong. Your code does not belong in there. Ever.
    >
    So, why my PATH does not work for "javac" ???Your PATH works fine, because Windows found javac.exe and java.exe. It's CLASSPATH that's incorrect.
    Compile like this:
    javac *.javaRun like this:
    java -classpath . HelloWorldAppNote the "dot" after -classpath. That sets the CLASSPATH to the current directory.
    %

Maybe you are looking for