hipoteca.idioma.ClassNotFoundException: oracle.jdbc.controlador.OracleDriver [duplicado]

Esta pergunta já tem uma resposta:
  • Como adicionar bibliotecas JAR ao Projeto de guerra sem enfrentar java?idioma.Não encontrou uma excepção? Claspath vs Build Path vs / WEB-INF / lib 4 respostas

eu escrevi um programa Java Servlet mas quando o executei, ele estava a mostrar a excepção

java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
O meu código é

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();
    }
}
A minha ... a localização da classe é:

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
Quando eu der o

 java oracle.jdbc.driver.OracleDriver 

comando na linha de comandos, estava a mostrar as seguintes linhas

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

Copiaste o classes12.jar na pasta lib da sua aplicação web e configure o fecho no eclipse.

Projecto com o botão direito no Explorador de pacotes Local de compilação - > adicionar arquivos externos...

Seleccione o seu ojdbc6.arquivo jar

Pressione OK

Ou

Passa por este linke lê e faz com cuidado.

A biblioteca deve agora ser referenciada nas "Librairias referenciadas" sob o Explorador de pacotes. Agora tente executar o seu programa Outra vez.

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

Percorrer o caminho C:\apache-tomcat-7.0.47\lib (este caminho pode ser diferente com base no local onde você instalou o servidor Tomcat), então passar por ojdbc14.jar se o seu não contém.

Depois reinicie o servidor no eclipse e execute a sua aplicação no servidor

 15
Author: Ravikumar D G, 2013-11-20 08:19:19
Equipa! Para executar a pesquisa SQL da sua Servlet, deverá adicionar a biblioteca JDBC jar na pasta
WEB-INF/lib

Depois disso você pode chamar o motorista, por exemplo:

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

Agora Y pode usar a ligação ao DB-server

==> 73!

 6
Author: Vladimir Azarov, 2015-03-13 10:27:59
Tente adicionar ojdbc6.jar através do servidor lib "C:\apache-tomcat-7.0.47\lib",

Depois reinicie o servidor no eclipse.

 2
Author: zedtimi, 2015-07-16 11:17:44
Estava a ter o mesmo tipo de erro, mas depois de copiar o ojdbc14.jar para a pasta lib, sem mais excepções.(copy ojdbc14.jar de algum lugar e colá-lo na pasta lib dentro do WebContent.)
 0
Author: user3683160, 2014-05-28 10:18:40

Tive o mesmo problema, mas consegui resolvê-lo fazendo o seguinte:

Carregue com o botão direito no projecto - > Propriedades, depois adicione o ficheiro JAR (odjbc6 ou 14) no conjunto de implantação.

 0
Author: raghu, 2014-07-14 18:46:58
Eu estava a ficar igual. um erro, mas depois copiar o ojdbc14.jar em lib pasta, não mais excepcao.(copiar ojdbc14.frasco de algures e colar para a pasta lib dentro do WebContent.)
 0
Author: Abdul, 2015-12-24 07:41:55