erreur d'exécution: java.lang.ClassNotFoundException: com.mysql.jdbc.Pilote
Je suis nouvelle et mysql jdbc et j'obtiens l'erreur dans ce titre. J'ai cherché toute la journée et ne peut pas trouver une solution qui fonctionne pour moi.
Ce que j'ai essayé:
désinstaller/réinstaller mysql, copier coller mysql-connector-java-5.1.25-bin.jar et ojdbc7.jar au même endroit que les .fichier de classe je suis en train de lancer, reconstruit le programme dans un répertoire différent, et probablement quelques choses d'autres.
J'utilise notepad++ pour le codage et l'invite de commande windows pour compiler et exécuter. il compile bien, mais j'essaie de le lancer avec
C:\Projects\bin>java -cp . ClientBase
La sortie est:
java.lang.ClassnNotFoundException: com.mysql.jdbc.Conducteur
à java.net.URLClassloader$1.exécuter(URLClassLoader.java:336)
à java.net.URLClassLoader$1.exécuter(URLClassLoader.java:355)
à java.de sécurité.AccessController.doPrivileged(Native method)
à java.net.URLClassLoader.findClass(URLClassLoader.java:354)
à java.lang.Chargeur de classe.loadClass(ClassLoader.java:432)
au coucher du soleil.misc.Lanceur$AppClassLoader.loadClass(Lanceur.java:308)
à java.lang.Chargeur de classe.loadClass(ClassLoader.java:356)
à java.lang.Classe.forName0(Native method)
à java.lang.Classe.forName(de la Classe.java:188)
au ClientBase.principale(ClientBase.java:21)
Au revoir.
//import packages
import java.sql.*;
//create class ClientBase
public class ClientBase{
//JDBC driver name and database URL
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost/CLIENTBASE";
//Database credentials
static final String USER = "root";
static final String PASS = "";
//Begin method main
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try{
//register JDBC driver
Class.forName("com.mysql.jdbc.Driver");
//Open connection
System.out.println("Connecting to database...");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
//Execute a query
System.out.println("Creating statement...");
stmt = conn.createStatement();
String sql;
sql = "SELECT id, name, address, address 2, city, phone, state, zip, fax FROM CLIENTBASE";
ResultSet rs = stmt.executeQuery(sql);
//Extract data from result set
while(rs.next()){
//Retrieve by column name
int id = rs.getInt("id");
String name = rs.getString("name");
String address = rs.getString("address");
String address2 = rs.getString("address2");
String city = rs.getString("city");
String phone = rs.getString("phone");
String state = rs.getString("state");
String zip = rs.getString("zip");
String fax = rs.getString("fax");
//Display values
System.out.print("ID: " + id);
System.out.print(" Name: " + name);
System.out.println("Address:" + address);
System.out.println(address2);
System.out.print("City:" + city);
System.out.print(" State: " + state);
System.out.println(" Zip: " + zip);
System.out.print("Phone: " + phone);
System.out.println(" Fax: " + fax);
} //end while
//clean up
rs.close();
stmt.close();
conn.close();
}catch(SQLException se){
//Handle errors for JDBC
se.printStackTrace();
}catch(Exception e){
//Handle errors for Class.forName
e.printStackTrace();
}finally{
//finally block used to close resources
try{
if(stmt!=null)
stmt.close();
}catch(SQLException se){
se.printStackTrace();
} //end finally
} //end try
System.out.println("Goodbye.");
} //End method main
} //end class ClientBase
Je dois aussi dire que je vais éteindre un tutoriel en ligne pour ce code. Il n'est pas exactement la façon dont ils ont comme j'ai décidé de faire quelque chose d'un peu différent des leurs, mais il est généralement le même. Je ne pense pas que c'est un problème de code mais à partir de quelle est l'erreur.
Toute aide serait appréciée! Je suis fou!
// finally block used to close resources
- vraiment ? alors, pourquoi vous êtes la fermeture de l'essayer ? Aussi essayer de formater votre code !!!OriginalL'auteur user2669813 | 2013-08-10
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin d'ajouter un connecteur de la bibliothèque de l'Exécution classpath:
Mon exemple utilise Windows séparateur de chemin de classe
";"
, sur d'autres systèmes, il peut être différent (":"
sur Linux/Mac). Il suppose également quemysql-connector-java-5.1.25-bin.jar
est situé sur le même dossier. Si ce n'est pas le cas, alors mettez un chemin d'accès à la bibliothèque au lieu de la plaine de nom.ClientBase
est synonyme de classe Java nom de fichier icije reçois aussi le même problème :- je obtenir le fichier et le coller dans le même dossier que mon fichier de classe est enregistrée puis exécutez la commande suivante dans mon linux java -cp .:mysql-connector-java-5.1.18-bin.jar FirstExample
Je suis en cours d'exécution du projet par le biais de NetBeans, comment puis-je configurer "par défaut" alors que je n'ai pas à passer l'argument de ligne de commande à chaque fois?
Réservoirs pour les précisions sur la différence entre le ";" et ":" c'était de me causer des ennuis.
OriginalL'auteur Jk1
si u utilisation de netbeans,faire à la suite
1.Ouvrir Netbeans IDE
2.Cliquez-droit sur votre Projet.
3.Sélectionnez Propriétés.
4.Sur la gauche, cliquez sur les Bibliothèques.
5.En vertu de la "Compilation" de l'onglet cliquez sur Add Jar/Folder bouton.
6.Sélectionnez Téléchargé "mysql-connector-java-5.1.25-bin.jar" fichier (Télécharger Connector/J à partir de dev.mysql.com)
7.Cliquez sur OK
Exécutez de Nouveau... Son travail.
OriginalL'auteur prabhakaran
Ajouter
mysql.connector-java-x.x.x-bin.jar
à votre dossier libraries. Pas besoin d'importer quoi que ce soit. Avoir une bonne idée.OriginalL'auteur agcala
I was also get same problem :-
Comment j'ai résolu pour système Linux.
1.) Télécharger le fichier mysql-connector-java-5.1.18-bin.jar de lien ou autre.
2.) Puis collez-le dans le même dossier ou le répertoire de votre classe ou d'un fichier où vous le voulez de la connexion à présent)
3.) Maintenant, utilisez la commande suivante par votre invite de commande linux.
java -cp .:mysql-connector-java-5.1.18-bin.jar YourFileName
..C'est tout ce que vous devez faire... 🙂
OriginalL'auteur HaRsH
Qu'avez-vous importer ?
À partir de la documentation: http://dev.mysql.com/doc/connector-j/en/connector-j-usagenotes-connect-drivermanager.html
Commentaire:
Pourquoi êtes-vous à l'aide de notepad++ ? installer un IDE (Eclipse/Netbeans/IntelliJ) - il sera beaucoup plus facile de localiser de tels problèmes (non inclus pots par exemple)
OriginalL'auteur alfasin
Si Vous Utilisez
Swing
vous devez ajouter Externes Pot de my-sql-se connecterd'autre si Vous Utilisez
jsp servlet
Vous devez ajouter jar Externe et de Copier ce Pot en WEB_INF/lib dossier de projetOriginalL'auteur Bhola