org.h2.Driver 的 java ClassNotFoundException

新手上路,请多包涵

我正在尝试使用 H2 连接到 Java 中的数据库(使用 Eclipse 作为 IDE)。该示例确实(如下)抛出 ClassNotFoundException 。问题是,我 确实 将 h2 jar 文件添加到系统 CLASSPATH 中。我什至通过控制台中的 printenv 多次检查过它的存在。我省略了一个步骤吗?

代码:

 import java.sql.*;

public class Program {

 /**
  * @param args
  */
 public static void main(String[] args)
  throws Exception{

  try{
   System.out.println("hello, world!");
   Class.forName("org.h2.Driver");
   Connection conn = DriverManager.getConnection("jdbc:h2:~/testdb", "sa", "");
   // add application code here
   conn.close();
  }catch(ClassNotFoundException ex){
   System.out.println( "ERROR: Class not found: " + ex.getMessage() );

  }
  System.exit(0);

 }

}

原文由 Ashton Wilkins 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 789
1 个回答

就我而言(有点不相关,但值得一提),我将其添加到我的 maven pom 中,错误消息消失了:

   <dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <version>xxx</version> <!-- ex: 1.2.140 -->
  </dependency>

或者如果您在单元测试期间仅使用 h2:

   <dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <version>xxx</version> <!-- ex: 1.2.140 -->
    <scope>test</scope>
  </dependency>

原文由 rogerdpack 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题