Class.forName error ??

I got error below. Most time, my code call Class.forName("com.perf.perfectform.ViewController"), it works fine. But some time, it throw error below. I print out a lot message , and I have no idea about what cause this error ?? Who has some idea how to debug this error ? what is possible reason ?
Thanks, gary
P.S. com.perf.perfectform.ViewController ----- it is a java class
java.lang.ClassNotFoundException: com.perf.perfectform.ViewController
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.perf.perfectform.ExecuteUpdate.<init>(ExecuteUpdate.java)
at com.perf.perfectform.StartUp.main(StartUp.java)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.zerog.lax.LAX.g([DashoPro-V1.2-120198])
at ZPUs.run([DashoPro-V1.2-120198])

Question:
1) are you doing the reading and writing on a separate Thread and then load the class on a separate thread? Solution -> synchronize
2) are you running more than one instance of your application? Solution -> FileLock
3) finally (this looks like what is most probably happening). Are you using a separate ClassLoader when you try to instantiate your ViewController? If you are still on the same ClassLoader and at some point in time (before you overwrote your jar file), you tried to instantiate ViewController which does not exist in the classpath yet (meaning you've got a ClassNotFoundException before overwriting the ViewController's jar file) then no matter how hard you try to instantiate your ViewController class. You'll still get a ClassNotFoundException. Solution -> use a new ClassLoader
Regards,
Noel

Similar Messages

  • Error in Class.forName("com.mysql.jdbc.driver")

    Hi forum,
    Please help me to solve the issue.
    im using the following jsp code for genrating the reports using JASPER REPORTS
    the JSP FILE
    <%@ page contentType="text/html;charset=windows-1252"%>
    <%@ page import="java.io.*"%>
    <%@ page import="java.util.*"%>
    <%@ page import="java.sql.*"%>
    <%@ page import="javax.sql.DataSource"%>
    <%@ page import="javax.naming.InitialContext"%>
    <%@ page import="net.sf.jasperreports.engine.*"%>
    <%@ page import="net.sf.jasperreports.engine.design.JasperDesign"%>
    <%@ page import="net.sf.jasperreports.engine.xml.JRXmlLoader"%>
    <%@ page import="net.sf.jasperreports.engine.export.*" %>
    <%@ page import ="net.sf.jasperreports.engine.*"%>
    <%@ page import ="net.sf.jasperreports.engine.JasperFillManager"%>
    <%@ page import ="net.sf.jasperreports.engine.JRException"%>
    <%@ page import="net.sf.jasperreports.engine.JasperReport"%>
    <%@ page import="net.sf.jasperreports.engine.JasperPrint"%>
    <html>
    <body bgcolor="00ffcc">
    <%
    try{
    Connection con = null;
    String url="jdbc:mysql://localhost/customer";
    String username = "root";
    String password = "cmsadmin";
    InputStream input=new FileInputStream(new File("C:/Documents and Settings/user/My Documents/NetBeansProjects/jasperreports/web/helloworld.xml"));
    JasperDesign design = JRXmlLoader.load(input);
    JasperReport report = JasperCompileManager.compileReport(design);
    Map params = new HashMap();
    params.put("reportTitle", "helloworld");
    params.put("author", "Muthu Kumar");
    params.put("startDate", (new java.util.Date()).toString());
    params.put("ReportTitle", "PDF JasperReport");
    <img class="emoticon" src="images/emoticons/confused.gif" border="0" alt="" />Class.forName("com.mysql.jdbc.Driver");<img class="emoticon" src="images/emoticons/confused.gif" border="0" alt="" /><img src="images/emoticons/confused.gif" border="0" alt="" />
    con = DriverManager.getConnection(url,username,password);
    JasperPrint print = JasperFillManager.fillReport(report, params, con);
    OutputStream output=new FileOutputStream(new File("C:/Documents and Settings/user/My Documents/NetBeansProjects/jasperreports/helloreportworld.pdf"));
    JasperExportManager.exportReportToPdfStream(print, output);
    // JasperViewer.viewReport(print);
    catch(SQLException es) {
    out.println(es);
    catch(JRException ex){
    //ex.printStackTrace();
    out.println(ex);
    %>
    </body>
    </html>The error it is saying is in the line Class.forName(....) ;
    Please look for the emoctions with question mark
    i DOn know what to do.
    Please help
    Im comparin the below JRXML file as with the above code
    <?xml version="1.0"?>
    <!DOCTYPE jasperReport
    PUBLIC "-//JasperReports//DTD Report Design//EN"
    "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
    <jasperReport name="helloworld">
    <parameter name="reportTitle" class="java.lang.String"/>
    <parameter name="author" class="java.lang.String"/>
    <parameter name="startDate" class="java.lang.String"/>
    <queryString>
    <![CDATA[SELECT * FROM customer order by UserID ]]>
    </queryString>
    <field name="UserID" class="java.lang.String"/>
    <field name="UserName" class="java.lang.String"/>
    <field name="City" class="java.lang.String"/>
    <field name="State" class="java.lang.String"/>
    <title>
    <band height="60">
    <textField>
    <reportElement x="0" y="10" width="500" height="40"/>
    <textElement textAlignment="Center">
    <font size="24"/>
    </textElement>
    <textFieldExpression class="java.lang.String">
    <![CDATA[$P{reportTitle}]]>
    </textFieldExpression>
    </textField>
    <textField>
    <reportElement x="0" y="40" width="500" height="20"/>
    <textElement textAlignment="Center"/>
    <textFieldExpression class="java.lang.String">
    <![CDATA["Run by: " + $P{author}
    + " on " + $P{startDate}]]>
    </textFieldExpression>
    </textField>
    </band>
    </title>
    <columnHeader>
    <band height="30">
    <rectangle>
    <reportElement x="0" y="0" width="500" height="25"/>
    <graphicElement/>
    </rectangle>
    <staticText>
    <reportElement x="5" y="5" width="50" height="15"/>
    <textElement/>
    <text><![CDATA[UserID]]></text>
    </staticText>
    <staticText>
    <reportElement x="55" y="5" width="150" height="15"/>
    <text><![CDATA[UserName]]></text>
    </staticText>
    <staticText>
    <reportElement x="205" y="5" width="255" height="15"/>
    <text><![CDATA[City, State]]></text>
    </staticText>
    </band>
    </columnHeader>
    <detail>
    <band height="20">
    <textField>
    <reportElement x="5" y="0" width="50" height="15"/>
    <textElement/>
    <textFieldExpression class="java.lang.String">
    <![CDATA[$F{UserID}]]>
    </textFieldExpression>
    </textField>
    <textField>
    <reportElement x="55" y="0" width="150" height="15"/>
    <textElement/>
    <textFieldExpression class="java.lang.String">
    <![CDATA[$F{UserName}]]>
    </textFieldExpression>
    </textField>
    <textField>
    <reportElement x="205" y="0" width="255" height="15"/>
    <textElement/>
    <textFieldExpression class="java.lang.String">
    <![CDATA[$F{City} + ", " + $F{State}]]>
    </textFieldExpression>
    </textField>
    </band>
    </detail>
    </jasperReport>

    Glass_Fish wrote:
    I have set the classpath in the environment variables in the my computer properties.The web container has it's own properties. The "system" classpath means absolutely nothing to it. Read your server's documentation.

  • Error class not found with Class.forName("oracle.jdbc.driver.OracleDriver")

    sorry Got the solution...!!!!
    Hi
    I am trying to connect to oracle database on the server, oracle client installed on working m/c, I have placed classes111.zip (from oracle 8) in jdk1.1.8demojrelibext folder and I have set the classpath to the ext folder. The code
    try
    Class.forName("oracle.jdbc.driver.OracleDriver");
    catch(Exception e)
    when I run this code , error as
    [[ java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver ]]
    Please reply what are settings I should to to load this oracle driver,
    Thanks
    Mayank
    Message was edited by:
    user560333

    I currently have this same problem. How did you solve yours see my post Cant find suitable driver.

  • Class.forname:Oracle "Error" cannot resolve Sysmbol

    I am stil new in java can you pls help me with this error. I have a main class
    i am trying to make an oracle connection but i get this error when I RUN THE CLASS IN DOS
    Try.java [61:1] cannot resolve symbol
    symbol : method forName (java.lang.String)
    location: class Class
    Class.forName("oracle.jdbc.driver.OracleDriver");

    very simple... add classes12.jar file to classpath

  • Cannot resolve symbol : class odbc ERROR

    Hi Helper
    I am trying to compile a the following and I am getting the error
    C:\jdk\websiter>javac MainServlet.java
    MainServlet.java:86: cannot resolve symbol
    symbol : class odbc
    location: package jdbc
    Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.sql.*;
    import java.io.*;
    import java.util.*;
    * This is the servlet to send the user the names of all the sites present in the database
    public class MainServlet extends HttpServlet implements ServletConstants
    Connection m_con;
    PreparedStatement m_pstmt;
    ResultSet m_res;
    Vector m_vecsiteName;
    public void Init(ServletConfig config) throws ServletException {
         super.init(config);
    }// end of init()
    public void service(HttpServletRequest req, HttpServletResponse resp)
    throws ServletException, IOException {
              m_vecsiteName = new Vector();
         try {
         Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);
    m_con = DriverManager.getConnection("jdbc:odbc:sitewd", "", "");
    How can i fix it? thanks
    VT

    Replace the Statement
    Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);
    as
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

  • Class.forName problem

    Hi,
    I'm using "Java Invocation API" to load a class and call a generic method of it,
    but the "forName" call fails with error:
         Exception in thread "Thread-4" java.lang.ClassNotFoundException: HelloWorld
              at java.lang.Class.forName0(Native Method)
              at java.lang.Class.forName(Class.java:217)
    here is my (pseudo) code:
    // connect to my class "HelloWorld"
    myClass = (*envP)->FindClass(env, "HelloWorld")
    // connect to class "Java/lang/Class"
    classClass = (*env)->FindClass(env, "java/lang/Class")
    // get the id of Class.forName method
    forNameID = (*env)->GetStaticMethodID(env, classClass, "forName", "(Ljava/lang/String;)Ljava/lang/Class;")
    // j name of HelloWorld
    jClassName = (*env)->NewStringUTF(env, "HelloWorld")
    // call forName -> fails
    jClassObject = (*env)->CallStaticObjectMethod(env, classClass, forNameID, jClassName)
         -----> Exception in thread "Thread-4" java.lang.ClassNotFoundException: HelloWorld
              at java.lang.Class.forName0(Native Method)
              at java.lang.Class.forName(Class.java:217)
    Sustem: MacOSX 10.2.8
    Java Version: 1.4.1
    $CLASSPATH env var: /System/Library/Frameworks/JavaVM.framework/Versions/1.4.1/Classes
    Can somebody help me or point me to some useful URL about this?
    Thanks

    Here is a simple app that demonstrates my problem. I compiled and ran it on MacOSX but I have the same problem on windows. Copy the following code in a file named "javatest.c", cd to that directory and compile it with commad:
    gcc -o javatest javatest.c -framework JavaVMthen run it with:
    ./javatestCode:
    #include <JavaVM/jni.h>
    //===========================================================================================
    static void print_exception(JNIEnv *envP)
         // output the exception
         if (envP && ((*envP)->ExceptionOccurred(envP) != NULL))
         {     (*envP)->ExceptionDescribe(envP);
              (*envP)->ExceptionClear(envP);
    //===========================================================================================
    int main()
    JavaVMInitArgs     vm_args;
    JavaVM               *jvm;
    JavaVMOption        options[5];
    char               *classPathEnv;
    char               *classPathString;
    jint               res;
    JNIEnv                *envP = NULL;
    jclass               jlcClass;
    jmethodID          forNameID;
    jstring               jClassName;
    jobject               jClassObject;
         vm_args.version = JNI_VERSION_1_2;
         // options
         vm_args.nOptions = 5;
         options[0].optionString = "-verbose:class" ;
         options[1].optionString = "-verbose:jni" ;
         options[2].optionString = "-verbose:gc" ;
         classPathEnv = (char *)getenv( "CLASSPATH" );
         if (!(classPathString = (char*)malloc(strlen( "-Djava.class.path=" ) + strlen(classPathEnv) + 1)))
    printf("malloc failed\n");
              exit(1);
         sprintf(classPathString, "%s%s" ,"-Djava.class.path=" , classPathEnv);
         options[3].optionString = classPathString;
         options[4].optionString = "vfprintf" ;
         options[4].extraInfo = vfprintf;
         vm_args.options = options;
         vm_args.ignoreUnrecognized = JNI_FALSE;
         // Load the jvm
         res = JNI_CreateJavaVM(&jvm, (void**)&envP, &vm_args);
         if (res != JNI_OK)
         {     printf("CreateJavaVM failed\n");
              exit(1);
         // find the class "java/lang/Class"
         if (!(jlcClass = (*envP)->FindClass(envP, "java/lang/Class")))
         {     printf("FindClass java/lang/Class failed\n");
              print_exception(envP);
              exit(1);
         // find the method ID of Class.forName
         if (!(forNameID = (*envP)->GetStaticMethodID(envP, jlcClass, "forName", "(Ljava/lang/String;)Ljava/lang/Class;")))
         {     printf("GetStaticMethodID forName failed\n");
              print_exception(envP);
              exit(1);
         // make a java string of my "HelloWorld" class
         if (!(jClassName = (*envP)->NewStringUTF(envP, "HelloWorld")))
         {     printf("NewStringUTF failed\n");
              print_exception(envP);
              exit(1);
         // call method Class.forName
         if (!(jClassObject = (*envP)->CallStaticObjectMethod(envP, jlcClass, forNameID, jClassName)))
         {     printf("CallStaticObjectMethod of forName failed\n");
              print_exception(envP);
              exit(1);
         // fail with:
         // java.lang.ClassNotFoundException: HelloWorld
         //        at java.lang.Class.forName0(Native Method)
         //        at java.lang.Class.forName(Class.java:115)
    return 0;
    }HelloWorld java code (compiled in a .class file located in $CLASSPATH folder):
    public class HelloWorld
         public static void main (String args[]) throws Exception
              System.out.println ("HelloWorld");
    }Someone can help me about this?

  • Class.forName() throws null exception in servlet

    Hi, just wondering if anyone having this similar problem:
    when i try to load a class using Class.forName() method inside a servlet, it throws null exception.
    1) The exception thrown is neither ClassNotFoundException nor any other Error, it's "null" exception.
    2) There's nothing wrong with the code, in fact, the same code has been testing in swing before, works perfectly.
    3) I have include all necessary jars/classes into the path, even if i haven't, it should throw ClassNotFoundException instead, not "null" exception.

    I have tried to detect any possible nullable variable, and it is able to run until line 15. The exception thrown is actually null only... not NullPointerException... which is why i have confused...
    the message i received is "PlugInException: null".
    The code is at follow:
    * Load plugin
    * @return ArrayList of plugins
    * @exception PlugInException PlugInException
    01 public ArrayList loadPlugin()
    02 throws PlugInException
    03 {
    04 PlugIn plugin;
    05 ArrayList plugins = new ArrayList();
    06
    07 for (int i = 0; i < configLoader.getPluginTotal(); i++)
    08 {
    09 try
    10 {
    11 if (debugger > 0)
    12 {
    13 System.out.print("Loading " configLoader.getPluginClass(i) "...");
    14 }
    15 if (Class.forName(configLoader.getPluginClass(i)) == null)
    16 {
    17 if (debugger > 0)
    18 {
    19 System.out.print(" not found");
    20 }
    21 }
    22 else
    23 {
    24 if (debugger > 0)
    25 {
    26 System.out.println(" done");
    27 }
    28 plugin = (PlugIn)(Class.forName(configLoader.getPluginClass(i)).newInstance());
    29 plugin.setContainer(container);
    30 plugins.add(plugin);
    31 }
    32 }
    33 catch (Exception e)
    34 {
    35 throw new PlugInException("PlugIn Exception: " + e.toString());
    36 }
    37 }
    38
    39 return plugins;
    40 }

  • Class Definition Error

    Hi- when I compile the following code I receive this error message:
    Exception in thread "main" java.lang.NoClassDefFoundError: ConnectionPool
    Any ideas?
    Here's the code:
    package databaseConn;
    import java.awt.*;
    import java.io.*;
    import java.util.*;
    import java.sql.*;
    public class ConnectionPool
         private Hashtable connections=new Hashtable();
         private Properties props;
         public ConnectionPool(Properties props, int initialConnections)
                                       throws SQLException, ClassNotFoundException
              this.props=props;
              initializePool(props,initialConnections);
         public ConnectionPool(String driverClassName, String dbURL, String user,
                                    String password, int initialConnections)
                                    throws SQLException, ClassNotFoundException
              props=new Properties();
              props.put("connection.driver",driverClassName);
              props.put("connection.url",dbURL);
              props.put("user",user);
              props.put("password",password);
              initializePool(props,initialConnections);
         public Connection getConnection()
              Connection con=null;
              Enumeration cons=connections.keys();
              synchronized(connections)
                   while(cons.hasMoreElements())
                        con=(Connection)cons.nextElement();
                        Boolean b= (Boolean) connections.get(con);
                        if(!b.booleanValue())
                             try
                                  con.setAutoCommit(true);
                             catch(SQLException e)
                                  try
                                       connections.remove(con);
                                       con=getNewConnection();
                                  catch(SQLException er)
                             connections.put(con,Boolean.TRUE);
                             return con;
                   try
                        con=getNewConnection();
                        connections.put(con,Boolean.FALSE);
                   catch(SQLException er)
                   return con;     
         public void releaseConnection(Connection released)
              if(connections.containsKey(released))
                   connections.put(released,Boolean.FALSE);
         public void initializePool(Properties props, int initialConnections)
                                         throws SQLException, ClassNotFoundException
              Class.forName(props.getProperty("connection.driver"));
              for(int k=0;k<initialConnections;k++)
                   Connection con= getNewConnection();
                   connections.put(con,Boolean.FALSE);
         public Connection getNewConnection() throws SQLException
              return DriverManager.getConnection(props.getProperty("connection.url"),props);
    public class RetrieveInfoFromDB
         ConnectionPool pool;
         ResultSet rs=null;
         Connection con=null;
        public RetrieveInfoFromDB(Connection con)
              this.con=con;
         /*public String[] getInfo(String field,String table)
    public class InsertInfoIntoDB
         ConnectionPool pool;
         Connection con;
         public InsertInfoIntoDB(ConnectionPool pool)
              this.pool=pool;
        public InsertInfoIntoDB(Connection con)
              this.con=con;
         public String[][] parseFile(File temp)
              String[][] S=null;
              try
                   String file="";
                   String line;
                   int lines=0;
                   int r=0;
                   StringTokenizer tok;
                   BufferedReader in=new BufferedReader(new FileReader(temp));
                   while((line=in.readLine())!=null)
                        file+=line;
                        lines++;
                   tok=new StringTokenizer(file,"^'/n'");
                   S = new String[lines][2];
                   while(tok.hasMoreTokens())
                        line=tok.nextToken();
                        S[r][0]=line;
                        line=tok.nextToken();
                        S[r][1]=line;
                        r++;     
              catch(FileNotFoundException e)
              catch(IOException er)
              return S;
    public class WriteToTempFile
         PrintWriter fout;
         public WriteToTempFile(File temp)
              try
                   fout=new PrintWriter(new FileWriter(temp));
              catch(IOException e)
         public void writeln(String param1, String param2)
              fout.println(param1+"^"+param2+"^");
         public void flush()
              fout.flush();
         public void close()
              fout.close();
    [-code]

    If all the code you posted is in one .java file it won't compile because only one class can be declared as public. The file should have he same name as the public class.
    Example
    MyClass.java
    public class MyClass {
      // some code here
    class Helper1 {
      // some code for this class
    class Helper2 {
      // some more code
    The Helper1 and Helper2 classes will only be accessible by MyClass objects. If you want to make them available to other classes as well, define them in different .java files called Helper1.java and Helper2.java.
    Hope this helps,
    Calin

  • Bad Class File error - Win2k & J2SDK1.4.0_01

    Hi,
    I am trying to run a 'Hello World' program which came with the FreeTTS package from links from the java.sun.com website, and am not able to compile the program. I get the error:
    FreeTTSHelloWorld.java:4: cannot access file
    cl.com.sun.speech.freetts.audio.Voice
    bad class file: .\cl\com\sun\speech\freetts\audio\Voice.class
    class file contains wrong class: com.sun.speech.freetts.Voice
    Please remove or make sure it appears in the correct subdirectory of the classpath.
    import cl.com.sun.speech.freetts.audio.Voice;
    _______________________________________^
    The FreeTTSHelloWorld.java File is printed below [its embarassingly simple..]
    * Copyright 2001 Sun Microsystems, Inc.
    import cl.com.sun.speech.freetts.audio.Voice;
    import cl.com.sun.speech.freetts.audio.JavaClipAudioPlayer;
    import cl.com.sun.speech.freetts.en.us.CMULexicon;
    public class FreeTTSHelloWorld {
    public static void main(String[] args) {
         try {
         String voiceClassName = (args.length > 0) ? args[0] :
              "com.sun.speech.freetts.en.us.CMUDiphoneVoice";
         Class voiceClass = Class.forName(voiceClassName);
         Voice helloVoice = (Voice) voiceClass.newInstance();
         helloVoice.setLexicon(new CMULexicon());
         helloVoice.setAudioPlayer(new JavaClipAudioPlayer());
         helloVoice.load();
         helloVoice.speak
              ("Thank you for giving me a voice. I'm so glad to say
    hello to this world.");
         System.exit(0);
    catch (Exception e) {
         e.printStackTrace();
    I've tried a billion things, including moving around the .class files [which, by the way, i extracted myself from the .jar files which came with the FreeTTS package - is that what i'm doing wrong? if so, please tell me - ] and still nothing happens - the same error results.
    I've tried reading other cases similar to mine in the forums, but most of the things i read didn't apply to my (quite simple) situation, such as the 'package' line needing to be removed or anything like that..
    I run Win2k and have j2sdk1.4.0_01 installed on my machine
    I beg for anyone's help. Thanks in advance
    -=-Miagi-=-

    Aha!
    Extracting from the jar file might be ok, as long as the directory it's extracted into reflects the class's package name. Open the jar file using WinZip and you'll see that the files it contains are in directories that exactly mirror (including case) the package names.
    The error you're getting tells you that java is looking in .\cl\com\sun\speech\freetts\audio\Voice.class (the '.\' means relative to your current working directory) and my bet would be that the file is not there!
    You shouldn't need to extract these files at all, actually: Try deleting the files you extracted from the jar then try running your program again.
    I hope this is helpful...
    Chris.

  • Weblogic is getting shutdown by calling Class.forName("className")

    Hi,
    I have written the following code and it's running thru a web application in Weblogic. The problem is when calling Class.forName(), the weblogic server 9.2 gets shutdown.
    final static private String[] uib_cn = {
    "com.realm.portal.cda.ui.UIBuilder",
    "com.realm.rcash.rcoll.cda.ui.RCollUIBuilder",
    "com.realm.rcash.rpay.cda.ui.RPayUIBuilder"
    static {
    // Init the Constructor object for each UI builder class
    for (int i = 0; i <uib_cn.length; i++) {
    try {
    Class<?> c = Class.forName(uib_cn);
    uic[i] = c.getConstructor(IRbacParamsBean.class);
    } catch (Exception e) {
    log.error(e.getMessage(), e);
    The class containing this code in a jar file, is trying to load at runtime other class files which are in separate jar but all the jars are in same location WEB-INF/lib.
    Plz anyone can help me why this is happening and how to resolve this?
    Thanks & Regards
    Chanchal

    Is it due to an unhandled exception in the static initializer block? Are those classes available?

  • Class.forName(driver) = ClassNotFoundException

    hy all!
    the following statements causes an error:
    Class.forName("oracle.jdbc.driver.OracleDriver");I printed some informations about the exception:
    Errorcause: null
    Errormessage: oracle.jdbc.driver.OracleDriver
    Class: class java.lang.ClassNotFoundException
    StackTrace: [Ljava.lang.StackTraceElement;@16
    (I�m using JDeveloper)
    what do I have to do?? Is something missing on my harddrive??
    can you guide me?
    thanks!
    lenaz

    oracle jdeveloper build 10.1.2
    1. select the project then right click
    2. select the project properties
    3. expand the Profiles and select the libraries
    4. select the Oracle JDBC then click >
    5. click ok

  • Create a ADF component by Class.forName (11g)

    Hello,
    I'm loading a list of components by an XML, and I'd like to create an istance by Class.forName, for example:
    UIComponent componet = (UIComponent)Class.forName("oracle.adf.view.rich.component.rich.input.RichInputText").newInstance();
    but the system give me this error:
    java.lang.ClassNotFoundException: oracle.adf.view.rich.component.rich.input.RichInputText
    In the class there is the import RichInputText of and in the same class this works:
    oracle.adf.view.rich.component.rich.input.RichInputText title = new RichInputText();
    Any idea?
    Thank you,
    Cristian

    Hi,
    If I create my component extending Container, clients could think it's a Container (but in fact, I only used the Container feature to layout the component).
    For instance, if a API client call myCustom.add(aWidget), it will break the layout of my custom component.
    I can tell in the javadoc that this component must not be used as a container.
    But there are other situations when a client can inadvertantly think it's a container.
    Imagine that you write a method addTreeListener() that recursively register a listener to all components of a container. I don't want the Canvas and Scrollbar of my custom component to call back the listeners, but I want to hide my custom component to hide its internal and call back the listeners.
    As I said, it's mainly a design question, but I wanted to improve my custom component...
    Pierre M�tras

  • How get the correct generic type from Class.forName()?

    I have:
    public class Test2 {
        void foo() throws ClassNotFoundException {
            Class<Test2> c = Class.forName("Test2");
    }Of course, this doesn't compile:
    javac -Xlint Test2.java
    Test2.java:4: incompatible types
    found   : java.lang.Class<capture#965 of ?>
    required: java.lang.Class<Test2>
            Class<Test2> c = Class.forName("Test2");Other than casting to Class and suppressing the unchecked warning, how can I get the code to do what I think should be a common use case? I try
    public class Test2 {
        void foo() throws ClassNotFoundException {
            Class<Test2> c = Class.forName("Test2").asSubclass(Test2.class);
    }Which doesn't compile either:
    javac -Xlint Test2.java
    Test2.java:4: incompatible types
    found   : java.lang.Class<capture#400 of ? extends Test2>
    required: java.lang.Class<Test2>
            Class<Test2> c = Class.forName("Test2").asSubclass(Test2.class);Not sure I understand what the javac error is about.
    Help!

    kinmanc wrote:
    This is just a simplified version of what I had. The name of the class being loaded is unknown at compile time, though it is known to implement an interface. Isn't this a common use case?Yes, its' quite common.

  • Need Help Loading Sqlbase Driver Using Class.forName(...

    I'm having trouble connecting to a Sqlbase database on my PC. The problem seems to be with loading the driver with the "Class.forName" method. My source code (listed below) is in the "C:\My Documents\java" folder. I installed the Sqlbase driver in "C:\com\centurasoft\java\sqlbase" folder. The driver installation modified my autoexec.bat file to include the line "SET CLASSPATH=C:\com\centurasoft\java\sqlbase".
    The epdmo database is in a folder on my D:\ drive.
    It seems to find the SqlbaseDriver.class file, but for some reason it can't load it. I would greatly appreciate any suggestions as to how I can fix this.
    With the line -- Class.forName("centura.java.sqlbase.SqlbaseDriver");
    The SqlbaseEx.java program will compile, but I get the following error
    when I try to run it:
    Exception in thread "main" java.lang.NoClassDefFoundError: SqlbaseDriver (wrong name: com/centurasoft/java/sqlbase/SqlbaseDriver)
    at java.lang.ClassLoader.defineClass0(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    ... [several more lines like these]
    at SqlbaseEx.main(SqlbaseEx.java:25)
    With the line -- DriverManager.registerDriver(new SqlbaseDriver());
    The SqlbaseEx.java program will NOT compile. I get the following error:
    SqlbaseEx.java:21: cannot access SqlbaseDriver
    bad class file: C:\com\centurasoft\java\sqlbase\SqlbaseDriver.class
    class file contains wrong class: com.centurasoft.java.sqlbase.SqlbaseDriver
    Please remove or make sure it appears in the correct subdirectory of the classpath.
    Also, does the line -- String url = "jdbc:sqlbase:epdmo";
    look OK? I've seen numerous examples and they all have some values separated by slashes //. Am I
    missing something here that will bite me when I get past this driver loading error?
    import java.sql.*;
    // Create the ...
    public class SqlbaseEx {
    public static void main(String args[]) {
    String url = "jdbc:sqlbase:epdmo";
    Connection con;
    String createString;
    createString = "create table COFFEES " +
    "(COF_NAME varchar(32), " +
    "SUP_ID int, " +
    "PRICE float, " +
    "SALES int, " +
    "TOTAL int)";
    Statement stmt;
    try {
    Class.forName("centura.java.sqlbase.SqlbaseDriver");
    // DriverManager.registerDriver(new SqlbaseDriver());
    } catch(java.lang.ClassNotFoundException e) {
    System.err.print("ClassNotFoundException: ");
    System.err.println(e.getMessage());
    try {
    con = DriverManager.getConnection(url, "SYSADM", "SYSADM");
    stmt = con.createStatement();
    stmt.executeUpdate(createString);
    stmt.close();
    con.close();
    } catch(SQLException ex) {
    System.err.println("SQLException: " + ex.getMessage());

    Thanks for the reply.
    Upon further testing, I think my original post was slightly incorrect: if I use either of the following lines --
    Class.forName("com.centurasoft.java.sqlbase.SqlbaseDriver");
    or
    Class.forName("centura.java.sqlbase.SqlbaseDriver");
    I get the following error at runtime:
    ClassNotFoundException: com.centurasoft.java.sqlbase.SqlbaseDriver
    or
    ClassNotFoundException: centura.java.sqlbase.SqlbaseDriver
    It is when I use the line -- Class.forName("SqlbaseDriver");
    that I get the long error message in my original post.
    I don't understand why it can't find/load the driver. I feel like I've covered all the bases -- I've tried numerous variations of the driver name in the Class.forName method, my classpath variable seems to be set correctly. Does it matter what folder I compile my program in? Right now, I've just been compiling it in the same folder as the driver file -- c:\com\centurasoft\java\sqlbase.

  • Class.forName Failure

    I have a simple app (written in Eclipse), which has the following line:
    Class.forName("oracle.jdbc.driver.OracleDriver");
    classes12.zip is in the classpath. The app runs from Eclipse; another app in another project uses the same Class.forName(XXX) and it runs outside of Eclipse; it's JSPs and sevlets running with Tomcat. This app is just a pure java application. If I use the classpath parameter when invoking the jar file. same result. Class not found error.

    RonNYC wrote:
    I have a simple app (written in Eclipse), which has the following line:
    Class.forName("oracle.jdbc.driver.OracleDriver");
    classes12.zip is in the classpath.Quite clearly it's not.
    The app runs from Eclipse;Doesn't matter. Eclipse doesn't use your classpath, it sets its own.
    another app in another project uses the same Class.forName(XXX) and it runs outside of Eclipse; it's JSPs and sevlets running with Tomcat.Which also sets its own classpath.
    This app is just a pure java application. If I use the classpath parameter when invoking the jar file. same result. Class not found error.Which clearly does not have its classpath correctly set.
    Why are you using an ancient driver anyway? Or are you using Oracle 8?

Maybe you are looking for

  • Display one record at a time

    i am trying to display one record from my database on my jsp page per time using next and previous buttons to navigate. I have tried to implement this by putting the resultset in a vector and then tried to tried to dispaly data with no success.Please

  • Problem in File Channel

    Hi, I have a scenario whice is split in two parts (to be precise two saperate scenarios execute). In the first one file is received from a SOAP channel as attachment, and through a receiver file channel it is sent to a local folder in XI. In the seco

  • Updated... now I cant "click"

    So I ran the update and now I cant click on anything google related... google search displays but cant click, gmail... cant click... Also... I am not able to watch any videos on the web (even the one on Apple's website) it just shows a sideways trian

  • Inferior Spell and Grammer Check

    I want to add dont to the spelling dictionary. Why is it dont shows up as misspelled, but don't isn't suggested in the corrected spelling? Many abbreviated, common language words, are like this. This is supposed to be easy to use. C'mon! Even Firefox

  • WM DATA MIGRATION THROUGH LSMW

    Hi I am Rahul Here. In a roll out project we want to migrate all the WM data from Server 1 to Server 2. can someone tell me what all the things are required to be done? What should be the process? The process as per my knowledge 1. Download from exis