Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Wildfly中的ClassNotFoundException org.h2.Driver_Java_Jboss_Wildfly - Fatal编程技术网

Java Wildfly中的ClassNotFoundException org.h2.Driver

Java Wildfly中的ClassNotFoundException org.h2.Driver,java,jboss,wildfly,Java,Jboss,Wildfly,我正在尝试在wildfly中部署和运行ear文件。当我尝试访问以下代码时,它为org.h2.Driver提供ClassNotFoundException String jdbcURL = "jdbc:h2:file;MODE=Derby;auto_server=true"; Class.forName("org.h2.Driver"); Connection = DriverManager.getConnection(jdbcURL, username", "passwor

我正在尝试在wildfly中部署和运行ear文件。当我尝试访问以下代码时,它为org.h2.Driver提供ClassNotFoundException

String jdbcURL = "jdbc:h2:file;MODE=Derby;auto_server=true";            Class.forName("org.h2.Driver");
Connection = DriverManager.getConnection(jdbcURL, username", "password");
My module.xml

<module xmlns="urn:jboss:module:1.1" name="com.h2database.h2">

    <resources>
        <resource-root path="h2.jar"/>

    </resources>
    <dependencies>

        <module name="javax.api"/>
        <module name="javax.transaction.api"/>
        <module name="javax.servlet.api" optional="true"/>
    </dependencies>
</module>


是否需要更改?

WildFly已经附带了名为
com.h2database.h2
的模块。我不认为你需要添加你自己的


对于
ClassNotFoundException
,请确保您的部署依赖于模块
com.h2database.h2
。有几种方法可以将依赖项添加到部署中—最简单的方法可能是将
依赖项:com.h2database.h2
添加到
MANIFEST.MF
。有关其他方法,请参阅。

是。你是对的。默认情况下,Wildfly加载H2驱动程序。但是只有一种情况是Class.forName,我得到了这个例外。您是否在部署中添加了模块的依赖项?我尝试使用jboss-deployment-structure.xml添加H2模块,但没有成功。如果依赖项位于正确的位置,它肯定会起作用。如果它是一个EAR,并且您的jboss-deployment-structure.xml在您的EAR/META-INF中,那么请确保使用它的子部署也依赖于它。