[ERRO JAVA] --> java.lang.ClassNotFoundException: com.mysql.jdbc.Driver (estou há horas tendo tentando entender este erro, mas não cheguei a lugar nenhum)
mai 05, 2022 5:06:54 PM util.AcessoBD <init>
GRAVE: null
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264) at util.AcessoBD.<init>(AcessoBD.java:19)
at visao.Principal.<init>(Principal.java:32)
at visao.Principal$5.run(Principal.java:249)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
public Connection getConexao() {
return conexao;
}
}
Classe Principal
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package visao;
/**
*
* @author fernando
*/
public class Principal extends javax.swing.JFrame {
private DefaultListModel<Sorvete> modelo;
public static ArrayList<Sorvete> sorvetes = new ArrayList<>();
private AcessoBD acessoBD;
public static SorveteDAO sorveteDAO;
public Principal() {
initComponents();
acessoBD = new AcessoBD("trabalhopv"); //[linha 32 Principal]
sorveteDAO = new SorveteDAO(acessoBD);
modelo = new DefaultListModel();
lista.setModel(modelo);
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jTabbedPane1 = new javax.swing.JTabbedPane();
jPanel1 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
campoSabor = new javax.swing.JTextField();
botaoGravar = new javax.swing.JButton();
jLabel3 = new javax.swing.JLabel();
campoFabricacao = new javax.swing.JTextField();
jPanel2 = new javax.swing.JPanel();
jToolBar1 = new javax.swing.JToolBar();
botaoRemover = new javax.swing.JButton();
botaoEditar = new javax.swing.JButton();
jScrollPane1 = new javax.swing.JScrollPane();
lista = new javax.swing.JList<>();
//AQUI A LISTA DE SORVETES DEVE SER ALIMENTADA
for (Sorvete i : Principal.sorveteDAO.listar()) {
modelo.addElement(i);
}
lista.setModel(modelo);
//----------------------------------------------
}
}
Pergunta
luisgustavoerich
[ERRO]
mai 05, 2022 5:06:54 PM util.AcessoBD <init>
GRAVE: null
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at util.AcessoBD.<init>(AcessoBD.java:19)
at visao.Principal.<init>(Principal.java:32)
at visao.Principal$5.run(Principal.java:249)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Classe AcessoBD
package util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
public class AcessoBD {
private String stringDeConexao;
private Connection conexao;
public AcessoBD(String nomeBanco) {
stringDeConexao = "jdbc:mysql://localhost/" + nomeBanco
+ "?user=root";
try {
Class.forName("com.mysql.jdbc.Driver"); //[linha 19 AcessoBD]
} catch (ClassNotFoundException ex) {
Logger.getLogger(AcessoBD.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void conectar() {
try {
conexao = DriverManager.getConnection(stringDeConexao);
System.out.println("Conexão efetuada com sucesso");
} catch (SQLException ex) {
Logger.getLogger(AcessoBD.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void desconectar() {
try {
conexao.close();
System.out.println("Conexão encerrada com sucesso");
} catch (SQLException ex) {
Logger.getLogger(AcessoBD.class.getName()).log(Level.SEVERE, null, ex);
}
}
public Connection getConexao() {
return conexao;
}
}
Classe Principal
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package visao;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.DefaultListModel;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import modelo.Sorvete;
import negocio.SorveteDAO;
import util.AcessoBD;
/**
*
* @author fernando
*/
public class Principal extends javax.swing.JFrame {
private DefaultListModel<Sorvete> modelo;
public static ArrayList<Sorvete> sorvetes = new ArrayList<>();
private AcessoBD acessoBD;
public static SorveteDAO sorveteDAO;
public Principal() {
initComponents();
acessoBD = new AcessoBD("trabalhopv"); //[linha 32 Principal]
sorveteDAO = new SorveteDAO(acessoBD);
modelo = new DefaultListModel();
lista.setModel(modelo);
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jTabbedPane1 = new javax.swing.JTabbedPane();
jPanel1 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
campoSabor = new javax.swing.JTextField();
botaoGravar = new javax.swing.JButton();
jLabel3 = new javax.swing.JLabel();
campoFabricacao = new javax.swing.JTextField();
jPanel2 = new javax.swing.JPanel();
jToolBar1 = new javax.swing.JToolBar();
botaoRemover = new javax.swing.JButton();
botaoEditar = new javax.swing.JButton();
jScrollPane1 = new javax.swing.JScrollPane();
lista = new javax.swing.JList<>();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jTabbedPane1.addChangeListener(new javax.swing.event.ChangeListener() {
public void stateChanged(javax.swing.event.ChangeEvent evt) {
jTabbedPane1StateChanged(evt);
}
});
jLabel1.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel1.setText("Sorveteria");
jLabel2.setText("Sabor:");
botaoGravar.setText("Gravar");
botaoGravar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
botaoGravarActionPerformed(evt);
}
});
jLabel3.setText("Data de Fabricação:");
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jLabel3)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(campoFabricacao, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 80, Short.MAX_VALUE)
.addComponent(botaoGravar))
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(campoSabor)))
.addContainerGap())
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jLabel1)
.addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(campoSabor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3)
.addComponent(botaoGravar)
.addComponent(campoFabricacao, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(0, 96, Short.MAX_VALUE))
);
jTabbedPane1.addTab("Cadastro", jPanel1);
jToolBar1.setFloatable(false);
jToolBar1.setRollover(true);
botaoRemover.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/delete.png"))); // NOI18N
botaoRemover.setToolTipText("Excluir");
botaoRemover.setFocusable(false);
botaoRemover.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
botaoRemover.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
botaoRemover.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
botaoRemoverActionPerformed(evt);
}
});
jToolBar1.add(botaoRemover);
botaoEditar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/editar32.png"))); // NOI18N
botaoEditar.setToolTipText("Editar");
botaoEditar.setFocusable(false);
botaoEditar.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
botaoEditar.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
botaoEditar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
botaoEditarActionPerformed(evt);
}
});
jToolBar1.add(botaoEditar);
lista.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
jScrollPane1.setViewportView(lista);
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jToolBar1, javax.swing.GroupLayout.DEFAULT_SIZE, 346, Short.MAX_VALUE)
.addComponent(jScrollPane1)
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(jToolBar1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 157, Short.MAX_VALUE))
);
jTabbedPane1.addTab("Listagem", jPanel2);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jTabbedPane1)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jTabbedPane1)
);
pack();
setLocationRelativeTo(null);
}// </editor-fold>
private void botaoGravarActionPerformed(java.awt.event.ActionEvent evt) {
//CADASTRAR O SORVETE NO BANCO
sorvetes.add(
new Sorvete(
campoSabor.getText(),
campoFabricacao.getText()
)
);
campoSabor.setText("");
campoFabricacao.setText("");
Sorvete sorvete = new Sorvete(
campoSabor.getText(),
campoFabricacao.getText()
);
Principal.sorveteDAO.inserir(sorvete);
dispose();
}
private void jTabbedPane1StateChanged(javax.swing.event.ChangeEvent evt) {
if (jTabbedPane1.getSelectedIndex() == 1) {
modelo.removeAllElements();
//AQUI A LISTA DE SORVETES DEVE SER ALIMENTADA
for (Sorvete i : Principal.sorveteDAO.listar()) {
modelo.addElement(i);
}
lista.setModel(modelo);
//----------------------------------------------
}
}
private void botaoRemoverActionPerformed(java.awt.event.ActionEvent evt) {
while (lista.getSelectedIndex() != -1) {
Principal.sorveteDAO.apagar(lista.getSelectedValue());
modelo.removeElementAt(lista.getSelectedIndex());
}
}
private void botaoEditarActionPerformed(java.awt.event.ActionEvent evt) {
if (lista.getSelectedIndex() != -1) {
new Edicao(this, true, lista.getSelectedValue()).setVisible(true);
repaint();
}
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException ex) {
Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
} catch (UnsupportedLookAndFeelException ex) {
Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
}
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Principal().setVisible(true);
}
});
}
// Variables declaration - do not modify
Editado por luisgustavoerichprivate javax.swing.JButton botaoEditar;
private javax.swing.JButton botaoGravar;
private javax.swing.JButton botaoRemover;
private javax.swing.JTextField campoFabricacao;
private javax.swing.JTextField campoSabor;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTabbedPane jTabbedPane1;
private javax.swing.JToolBar jToolBar1;
private javax.swing.JList<Sorvete> lista;
// End of variables declaration
}
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.