错误 [stderr](EJB 默认值 - 8)java.lang.ClassNotFoundException:org.sqlite.JDBC

ERROR [stderr] (EJB default - 8) java.lang.ClassNotFoundException: org.sqlite.JDBC

我试图在 j2ee 项目中与 sqlite 数据库建立连接,但我一直收到此错误 "ERROR [stderr] (EJB default -8)java.lang.ClassNotFoundException: org.sqlite.JDBC"。知道我在 java 程序中测试了该方法并且工作正常。 我在 ejb 项目(会话 bean)中有一个连接 class,这里有代码。

public Connection getConnection(){
    Connection connection= null;


    try {
        Class.forName("org.sqlite.JDBC");
        String dataFolder = System.getProperty("user.home") + "\AppData\Local";
        String b = System.getProperty("user.home") ;



        String file = b + "\Desktop\file";
        connection = DriverManager.getConnection("jdbc:sqlite:"+ file );
       System.out.println("Connection completed.");
    } catch (Exception e) {
        e.printStackTrace();
    }

    return connection;
 }

然后我在 java 项目中使用 junit 测试对其进行测试,但每次我都会遇到相同的错误:java.Lang.ClassNotFoundException:org.sqlite.JDBC PS:我像这样包含 sqlite.jar(右键单击项目-> 配置构建路径-> 库-> 添加外部 jar)但总是面临同样的错误

假设您有以下项目结构:

src/main/java
     |
      - MyConnection.java
src/test/java
     |
      - MyConnectionTest.java

具有以下元素:

基础classMyConnection

public class MyConnection {

    public Connection getConnection() {
        Connection connection = null;

        try {
            Class.forName("org.sqlite.JDBC");
            connection = DriverManager.getConnection("jdbc:sqlite:");
            System.out.println("Connection completed.");
        } catch (Exception e) {
            e.printStackTrace();
        }

        return connection;
    }
}

测试classMyConnectionTest

import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;

import java.sql.Connection;
import java.sql.SQLException;

import org.junit.Test;

public class MyConnectionTest {

    @Test
    public void isValid() throws SQLException {
        MyConnection myConn = new MyConnection();
        Connection conn = myConn.getConnection();
        assertTrue(conn.isValid(0));
        conn.close();
        assertFalse(conn.isValid(0));
    }
}

在您的 Eclipse 项目中,您只需执行以下操作:

  1. 右键单击您的项目;
  2. 导航到 构建路径 和 select 选项 配置构建路径...;
  3. 在右侧菜单中,按 Add Library、select JUnit (JUnit4) 并单击 完成;
  4. 最后,在 配置构建路径... 菜单中,select 选项 添加外部 JAR... ,浏览至 SQLite JDBC jar 文件所在的位置,select 并单击 应用
  5. 去你的 MyConnectionTest 测试 class 和 运行 它作为 JUnit 测试。

我已经解决了问题:

  1. 在此路径中添加了 SQLite jar 文件:

    D:\jboss-as-7.1.1.Final\modules\javax\activation\api\main

  2. JBoss服务器运行时>部署>管理部署 添加了 SQLite jar 文件然后启用它。