Java.lang.ClassNotFoundException: oracle.jdbc.pilote.OracleDriver [dupliquer]


Cette question a déjà une réponse ici:

J'ai écrit un programme de Servlet Java mais quand je l'exécute, il affichait l'exception

java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver

Mon code est

package skypark;

import java.io.*;
import javax.servlet.*;
import java.text.*;
import javax.servlet.http.*;
import java.sql.*;
import java.sql.Date;

public class Registration extends HttpServlet {

    private static final long serialVersionUID = 1L;

    public static Connection prepareConnection() throws ClassNotFoundException, SQLException {
        String dcn = "oracle.jdbc.driver.OracleDriver";
        String url = "jdbc:oracle:thin:@JamesPJ-PC:1521:skypark";
        String usname = "system";
        String pass = "tiger";
        Class.forName(dcn);
        return DriverManager.getConnection(url, usname, pass);
    }

    public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html");
        PrintWriter out = resp.getWriter();

        try {
            String phone1, dofb, date1, month, year, uname, fname, lname, address, city, state, country;
            String pin, email, password, gender, lang, qual, relegion, privacy, hobbies, fav;

            uname = req.getParameter("uname");
            fname = req.getParameter("fname");
            lname = req.getParameter("lname");
            date1 = req.getParameter("date");
            month = req.getParameter("month");
            year = req.getParameter("year");
            address = req.getParameter("address");
            city = req.getParameter("city");
            state = req.getParameter("state");
            country = req.getParameter("country");
            pin = req.getParameter("pin");
            email = req.getParameter("email");
            password = req.getParameter("password");
            gender = req.getParameter("gender");
            phone1 = req.getParameter("phone");

            lang = "";
            qual = "";
            relegion = "";
            privacy = "";
            hobbies = "";
            fav = "";

            dofb = date1 + "-" + month + "-" + year;
            int phone = Integer.parseInt(phone1);
            DateFormat formatter;
            java.util.Date dob;
            formatter = new SimpleDateFormat("dd-MM-yy");
            dob = formatter.parse(dofb);

            Connection con = prepareConnection();
            String Query = "Insert into regdetails values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
            PreparedStatement ps = con.prepareStatement(Query);

            ps.setString(1, uname);
            ps.setString(2, fname);
            ps.setString(3, lname);
            ps.setDate(4, (Date) dob);
            ps.setString(5, address);
            ps.setString(6, city);
            ps.setString(7, state);
            ps.setString(8, country);
            ps.setString(9, pin);
            ps.setString(10, lang);
            ps.setString(11, qual);
            ps.setString(12, relegion);
            ps.setString(13, privacy);
            ps.setString(14, hobbies);
            ps.setString(15, fav);
            ps.setString(16, gender);

            int c = ps.executeUpdate();

            String query = "insert into passmanager values(?,?,?,?)";
            PreparedStatement ps1 = con.prepareStatement(query);

            ps1.setString(1, uname);
            ps1.setString(2, password);
            ps1.setString(3, email);
            ps1.setInt(4, phone);

            int i = ps1.executeUpdate();

            if (c == 1 || c == Statement.SUCCESS_NO_INFO && i == 1 || i == Statement.SUCCESS_NO_INFO) {
                out.println("<html><head><title>Login</title></head><body>");
                out.println("<center><h2>Skypark.com</h2>");
                out.println("<table border=0><tr>");
                out.println("<td>UserName/E-Mail</td>");
                out.println("<form action=login method=post");
                out.println("<td><input type=text name=uname></td>");
                out.println("</tr><tr><td>Password</td>");
                out.println("<td><input type=password name=pass></td></tr></table>");
                out.println("<input type=submit value=Login>");
                out.println("</form></body></html>");
            } else {
                out.println("<html><head><title>Error!</title></head><body>");
                out.println("<center><b>Given details are incorrect</b>");
                out.println(" Please try again</center></body></html>");
                RequestDispatcher rd = req.getRequestDispatcher("registration.html");
                rd.include(req, resp);
                return;
            }
        } catch (ClassNotFoundException cnfe) {
            out.println("<html><head><title>Error!</title><body>");
            out.println("<b><i>Class not found " + cnfe + "</i></b>");
            out.println("</body></html>");
        } catch (SQLException sqle) {
            out.println("<html><head><title>Error!</title><body>");
            out.println("<b><i>Unable to process try after some time Sql error</i></b>");
            out.println("</body></html>");
        } catch (ParseException e) {
            out.println("<html><head><title>Error!</title><body>");
            out.println("<b><i>Unable to process Parseint exc " + e + "</i></b>");
            out.println("</body></html>");
        }

        out.flush();
        out.close();
    }
}

Mon chemin de classe est :

C: \Windows\ system32 > echo % classpath %
  E: \app\ JamesPJ\ product\ 11.2.0\ dbhome_1\ oui\ jlib\ classes12.jar;
E: \app\ JamesPJ\ product 11.2.0\ dbhome_1\ jlib\ orai18n.jar;
E: \app\ JamesPJ\ product\ 11.2.0\ dbhome_1\ jdbc\ lib\ ojdc6_g.jar;
E: \app\ JamesPJ\ product\ 11.2.0\ dbhome_1\ BIN;
C: \Program Files\ Java\ jdk1.7.0_09\ bin;
C: \Users\ JamesPJ\ Documents;
E: \app\ JamesPJ\ product\ 11.2.0\ dbhome_1\ jdbc\ lib;
E: \app\ JamesPJ\ product\ 11.2.0\ dbhome_1\ jlib;
E: \app\ JamesPJ\ product\ 11.2.0\ dbhome_1\ jdbc\ lib\ ojdbc6.jar;
E: \app\ JamesPJ\ product\ 11.2.0\ dbhome_1\ oc4j\ jdbc\ lib\ orai18n.jar;
E: \app\ JamesPJ\ product\ 11.2.0\ dbhome_1\ oc4j\ jdbc\ lib\ ocrs12.jar;
E: \app\ JamesPJ\ product\ 11.2.0\ dbhome_1\ owb\ wf\ lib\ ojdbc14.jar;
C: \Program Files\ Apache Software Foundation\ Tomcat 7.0\ lib\ servlet - api.jar

Quand je donne le

 java oracle.jdbc.driver.OracleDriver 

Commande dans l'invite de commande, il affichait les lignes suivantes

Error: Main method not found in class oracle.jdbc.driver.OracleDriver, please define the main method as:
       public static void main(String[] args)
Author: Tiny, 2012-12-16

7 answers

Avez-vous copié classes12.jar dans le dossier lib de votre application Web et définissez le chemin de classe dans eclipse.

Faites un clic droit sur le projet dans l'explorateur de paquets Chemin de construction - > Ajouter des archives externes...

Sélectionnez votre ojdbc6.jar archive

Appuyez sur OK

Ou

Parcourez celien et lisez et faites attentivement.

La bibliothèque doit maintenant être référencée dans les "Bibliothèques référencées" sous l'explorateur de paquets. Essayez maintenant d'exécuter à nouveau votre programme.

 23
Author: Ajay S, 2012-12-17 05:17:13

Passez par C:\apache-tomcat-7.0.47\lib chemin (ce chemin peut être différent en fonction de l'endroit où vous avez installé le serveur Tomcat) puis passé ojdbc14.jar s'il ne contient pas.

Puis redémarrez le serveur dans eclipse puis exécutez votre application sur le serveur

 15
Author: Ravikumar D G, 2013-11-20 08:19:19

Équipe! Pour exécuter SQL-query à partir de votre Servlet, vous devez ajouter la bibliothèque jar JDBC dans le dossier

WEB-INF/lib

Après cela, vous pouvez appeler driver, exemple:

Class.forName("oracle.jdbc.OracleDriver");

Maintenant Y peut utiliser la connexion à DB-server

==> 73!

 6
Author: Vladimir Azarov, 2015-03-13 10:27:59

Essayez d'ajouter ojdbc6.jar via la bibliothèque du serveur "C:\apache-tomcat-7.0.47\lib",

, Puis redémarrez le serveur dans eclipse.

 2
Author: zedtimi, 2015-07-16 11:17:44

J'obtenais la même erreur mais après avoir copié l'ojdbc14.jar dans le dossier lib, plus d'exception.(copie ojdbc14.jar de quelque part et collez-le dans le dossier lib dans WebContent.)

 0
Author: user3683160, 2014-05-28 10:18:40

J'ai eu le même problème mais j'ai pu le résoudre en procédant comme suit:

Faites un clic droit sur le projet- > Propriétés, puis ajoutez le fichier JAR (odjbc6 ou 14) dans l'assembly de déploiement.

 0
Author: raghu, 2014-07-14 18:46:58

Je devenais pareil un peu d'erreur, mais après la copie de la jojdbc14.bocal en lib dossier, pas plus exception.(copie jojdbc14.pot de quelque part et coller il dans le dossier lib à l'intérieur de WebContent.)

 0
Author: Abdul, 2015-12-24 07:41:55