Java ClassNotFoundException用于运行使用C3P0的JBoss 7服务器的Eclipse项目
我在Eclipse中有一个使用JBoss服务器的项目。我正在尝试将我的数据库管理器更改为使用。然而,无论我做了什么尝试,我似乎都无法正确导入jar文件 以下是我得到的错误:Java ClassNotFoundException用于运行使用C3P0的JBoss 7服务器的Eclipse项目,java,eclipse,jboss7.x,c3p0,Java,Eclipse,Jboss7.x,C3p0,我在Eclipse中有一个使用JBoss服务器的项目。我正在尝试将我的数据库管理器更改为使用。然而,无论我做了什么尝试,我似乎都无法正确导入jar文件 以下是我得到的错误: javax.ejb.EJBException: Unexpected Error at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInOurTx(CMTTxInterceptor.java:157) at org.jboss.as.ejb3.tx
javax.ejb.EJBException: Unexpected Error
at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInOurTx(CMTTxInterceptor.java:157)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:213)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:284)
...
Caused by: java.lang.NoClassDefFoundError: com/mchange/v2/c3p0/ComboPooledDataSource
at com.softified.irw.common.DatabaseManager.<init>(DatabaseManager.java:24)
at com.softified.irw.common.DatabaseManager.getDataSource(DatabaseManager.java:35)
...
Caused by: java.lang.ClassNotFoundException: com.mchange.v2.c3p0.ComboPooledDataSource from [Module "deployment.irw-ear.ear:main" from Service Module Loader]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:191)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:361)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:333)
...
我知道我可能没有正确使用c3p0,但我现在只是想通过“未找到类”问题
以下是我导入JAR所采取的步骤:
- c3p0-0.9.5-pre8.jar
- mchange-commons-java-0.2.7.jar
- c3p0-oracle-thin-extras-0.9.5-pre8.jar(我知道我可能不需要这个,但我还是添加了它)
<classpathentry kind="lib" path="lib/c3p0-0.9.5-pre8.jar" sourcepath="lib/c3p0-0.9.5-pre8-sources.jar"/>
<classpathentry kind="lib" path="lib/c3p0-oracle-thin-extras-0.9.5-pre8.jar"/>
<classpathentry kind="lib" path="lib/mchange-commons-java-0.2.7.jar" sourcepath="lib/mchange-commons-java-0.2.7-sources.jar"/>
当我尝试访问代码的相关部分时,我总是收到相同的错误消息。它找不到c3p0类文件。我做错了什么?非常感谢您的帮助 所有提到的三个JAR都复制并放在jboss的公共lib文件夹中,然后再试一次。一旦它解决了这个问题,您就可以检查类加载器问题。您需要将这些JAR放在
WEB-INF/lib
文件夹或jboss中的add-as模块中
更简单的方法是在
WEB-INF/lib
中添加这些JAR,然后重试。只需在pom.xml中添加此依赖项:
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1.2</version>
</dependency>
c3p0
c3p0
0.9.1.2
在web inf/lib中添加jar之后。构建jar,然后执行以下步骤
右键单击project-->select“properties”-->Deployment assembly-->“ADD”选项-->select“java构建路径条目”-->select C3P0JAR的路径
**sandeep solanke你检查过耳朵吗?这个jar存在于库中吗?我使用JBoss AS 7,我认为它不支持将jar放入库中,所以我尝试创建一个全局模块,但这也有点让人困惑。这不完全正确。JBossAS7肯定支持向
WEB-INF/lib
目录中添加库。
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1.2</version>
</dependency>