Java ClassNotFoundException用于运行使用C3P0的JBoss 7服务器的Eclipse项目

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

我在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.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库:
  • 在项目中创建一个引用库的文件夹“lib”,并将以下文件从c3p0下载复制到其中:
    • c3p0-0.9.5-pre8.jar
    • mchange-commons-java-0.2.7.jar
    • c3p0-oracle-thin-extras-0.9.5-pre8.jar(我知道我可能不需要这个,但我还是添加了它)
  • 右键单击Eclipse中的每个jar并点击“构建路径>添加到构建路径”
  • 这三个JAR现在都出现在我的“参考资料库”中
  • 因此,My.classpath文件中包含以下内容:

    <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>