Java Wildfly中的ClassNotFoundException org.h2.Driver
我正在尝试在wildfly中部署和运行ear文件。当我尝试访问以下代码时,它为org.h2.Driver提供ClassNotFoundExceptionJava 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
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中,那么请确保使用它的子部署也依赖于它。