我制作了一个简单的Java EE应用程序,我遇到了与数据库连接的问题。 在eclipse中一切正常,但是当我在Intellij中尝试相同时,会发生错误。
package db;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.SQLException;
public class DbUtil {
private static DbUtil dbUtil;
private ComboPooledDataSource connectionPool;
private DbUtil() throws PropertyVetoException {
connectionPool = new ComboPooledDataSource();
connectionPool.setDriverClass("com.mysql.jdbc.Driver");
connectionPool.setJdbcUrl("jdbc:mysql://localhost:3306/world");
connectionPool.setUser("root");
connectionPool.setPassword("root");
connectionPool.setInitialPoolSize(5);
connectionPool.setMinPoolSize(5);
connectionPool.setMaxPoolSize(20);
connectionPool.setAcquireIncrement(5);
connectionPool.setMaxIdleTime(3600);
}
public Connection getConnection() throws SQLException {
return connectionPool.getConnection();
}
public void close() {
connectionPool.close();
}
public static DbUtil getInstance() {
if (dbUtil == null) {
try {
dbUtil = new DbUtil();
} catch (PropertyVetoException e) {
e.printStackTrace();
}
}
return dbUtil;
}
}
在项目结构中 - >我有的图书馆: image
错误是:
java.lang.NoClassDefFoundError: com/mchange/v2/c3p0/ComboPooledDataSource
java.lang.ClassNotFoundException: com.mchange.v2.c3p0.ComboPooledDataSource
答案 0 :(得分:2)
已经很长时间了,但是我遇到了同样的问题,这个解决方案也有效。
在
project_name/web/WEB-INF/
创建名为lib
的新文件夹,复制.jars c3p0-0.9.5.2, c3p0-oracle-thin-extras-0.9.5.2, mchange-commons-java-0.2.11
然后在项目视图中选择lib
文件夹,最后选择Add as liblary...
。
答案 1 :(得分:1)
这可能是由于servlet配置
bean id="myDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
将休眠的c3p0 jar下载到lib并将其下载到jars
答案 2 :(得分:0)
只需将此依赖项添加到pom文件
即可 <dependency>
<groupId>com.google.code.maven-play-plugin.com.mchange</groupId>
<artifactId>c3p0-oracle-thin-extras</artifactId>
<version>0.9.5</version>
</dependency>
<dependency>
<groupId>com.mchange</groupId>
<artifactId>mchange-commons-java</artifactId>
<version>0.2.11</version>
</dependency>
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.2</version>
</dependency>
答案 3 :(得分:0)
我遇到了这个问题,但我试过了,我的 hibernate jar 文件在不同的文件夹中。实际上,它们必须在 lib 文件夹中,但我创建了一个名为 hibernate 的新文件夹。这是错误的。你必须把你的jar文件放在lib文件夹中!