当前位置: 首页 > 知识库问答 >
问题:

线程“main”java.lang.ClassNotFoundException中出现异常:org.apache.derby.jdbc.ClientDriver

程和畅
2023-03-14

我的程序在执行时会出现以下错误:

Exception in thread "main" java.lang.ClassNotFoundException: org.apache.derby.jdbc.ClientDriver
    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 Aula4.main(Aula4.java:13)
Picked up _JAVA_OPTIONS: -Xmx512M
C:\Users\mikae\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1

我的文件AULA4


import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner;

/*
 * 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.
 */

/**
 *
 * @author mikae
 */
public class Aula4 {
    public static void main (String[] args) throws ClassNotFoundException, SQLException {
        try {
            Class.forName("org.apache.derby.jdbc.ClientDriver");
            
            String url = "jdbc:derby://localhost:1527/sistema_academico";
            
            String usuario = "app";
            String senha = "app";
            Connection conexao;
            Scanner ler = new Scanner(System.in);
            int id_aluno;
            double nota;
            String nome;
            int i;
            conexao = DriverManager.getConnection(url, usuario, senha);
            String sql = "INSERT INTO aluno VALUES (?, ?, ?)";
            PreparedStatement stm = conexao.prepareStatement(sql);
            ResultSet rs = stm.executeQuery();
            
            System.out.println("Connected!");
            for (i=0;i<4;i++) { 
                
            System.out.println("Welcome! Type your ID");
            id_aluno = ler.nextInt();
            
            System.out.println("Now, type your name");
            nome = ler.next();

            System.out.println("And finally, type your grade");
            nota = ler.nextDouble();
            
            String SQL_Update = "UPDATE aluno SET nota=? WHERE id_aluno=?";
            stm = conexao.prepareStatement(SQL_Update);
            stm.setLong(1, id_aluno);
            stm.setString(2, nome);
            stm.setBigDecimal(3, new BigDecimal(nota));
            
            int registros = stm.executeUpdate();
            
                        while ( rs.next()) {
                id_aluno = rs.getInt("id_aluno");
                nome= rs.getString("nome");
                nota = rs.getDouble("nota");
            }
            
            stm.close();
            }
            
        } catch (SQLException ex) {
            System.out.println("Connection failed!");
        } 
    }
}

我想连接我的数据库。我已经创建了数据库,但仍然显示这些错误,而且我使用的是Netbeans IDE8.2。

共有1个答案

艾自强
2023-03-14

您需要将jdbc驱动程序添加到您的Java应用程序中。如果您有一个maven项目,您可以通过向pom.xml添加以下DEPency来添加它:

<dependency>
    <groupId>org.apache.derby</groupId>
    <artifactId>derbyclient</artifactId>
    <version>10.15.2.0</version>
</dependency>

如果您使用Netbeans,您可以从https://repo1.maven.org/maven2/org/apache/derby/derby/10.15.2.0/下载驱动程序,并按照https://www.foxinfotech.in/2019/03/how-to-add-external-jar-file-in-netbeans-project.html的指南将其添加到poject中。

 类似资料:
  • 我从GitHub克隆了我的项目,现在我无法运行我的项目。 我收到以下错误: 知道是什么导致了这个错误吗? 编辑 我检查了这个问题Intellij在我发布到这里之前突然抛出ClassNotFoundException,它没有给我任何解决方案...为什么要将我的问题标记为重复,因为那个问题不能解决我的问题?

  • 我最近安装了intellij IDEA 14.0,为了确保一切正常,我创建了一个简单的Hello World程序。我不明白为什么输出不正确,为什么会出现这个错误。如果有人能帮忙,那就太好了。 以下是程序: 这是错误:

  • 我在线程“main”java中遇到异常。错误:未解析编译。 我做错了什么? 线程“main”中出现异常: java.lang.错误:未解决的编译问题: 对于类型在

  • 我得到了这个错误: 线程“main”Java.lang.NosuchFielderRror:calificacion.main处的num1异常(problema_3.Java:17) 在这个简单的终端Java程序上键入第一个值后: 另一方面,这一个运行良好,我使用相同的输入法在这两个: 提前道谢。

  • 当我从nextInt()获取输入时,扫描器会抛出异常,但是如果我从nextLine()获取输入,然后将其解析为int,那么我的代码会正常运行。 如果可以将字符串输入解析为任何类型,为什么还要使用nextInt()或nextDouble()。

  • 每当我运行这个函数时,函数与.nextint()中的