IntelliJ 找不到驱动程序类
Posted
技术标签:
【中文标题】IntelliJ 找不到驱动程序类【英文标题】:JntelliJ can't find driver class 【发布时间】:2016-11-15 18:20:02 【问题描述】:我使用 IntelliJ IDEA 14.0、Tomcat 服务器和 h2 数据库来创建简单的 Web App。 不幸的是,当我运行应用程序时,我收到异常消息
java.lang.ClassNotFoundException: org.h2.Driver
我将 h2 jar 文件存储在名为“db”的文件夹中,并设置了“添加为库”功能。 我像这样连接到数据库:
public class DBConn
private static final String DRIVER = "org.h2.Driver";
private static final String URL = "jdbc:h2:tcp://localhost/~/BigPicture";
private static final String USERNAME = "doncho";
private static final String PASS = "";
private static DBConn instance;
private static Connection conn;
private DBConn()
public static DBConn getInstance()
if(instance == null)
instance = new DBConn();
return instance;
public Connection getConnectivity()
try
Conn();
catch (SQLException e)
e.printStackTrace();
return conn;
private void Conn() throws SQLException
if(conn == null)
try
Class.forName(DRIVER);
catch (ClassNotFoundException e)
System.out.println("No Driver Found");
e.printStackTrace();
DriverManager.getConnection(URL, USERNAME, PASS);
public void Disconnect()
if(conn != null)
try
conn.close();
conn = null;
catch (SQLException e)
e.printStackTrace();
我在 Servlet 中调用数据库。
public class DBServlet extends HttpServlet
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
Connection conn = DBConn.getInstance().getConnectivity();
System.out.println("It Work's");
DBConn.getInstance().Disconnect();
输出显示“未找到驱动程序”并抛出 java.lang.ClassNotFoundException: org.h2.Driver.
重要的是,当我在Main
方法中调用类DBConn
() 时,IntelliJ 找到h2
驱动程序,但Tomcat 仍然不能。
请帮忙,因为我是 IntelliJ 和 Eclipse 的新手,这个应用程序可以工作,但我想在我的项目中使用 IntelliJ。
最好的问候。
【问题讨论】:
【参考方案1】:将驱动的 jar 文件放在 $TOMCAT_HOME/lib 或 yourapp/WEB-INF/lib 上
【讨论】:
谢谢。我将 h2 jar 库粘贴到 /WEB-INF/lib 中,它对我有用。以上是关于IntelliJ 找不到驱动程序类的主要内容,如果未能解决你的问题,请参考以下文章
Intellij 找不到我的 Spring Boot 应用程序
java.sql.SQLException: 找不到适合 jdbc:sqlserver 的驱动程序... (intellij, maven)
为啥 IntelliJ 找不到正确的 WebServlet 类?
Intellij IDEA--解决启动时提示“程序包xxx不存在”“找不到符号”的问题