Java JBoss:未找到MySQL驱动程序
我正在JBoss7.1.1下使用MySQL开发web应用程序。 我已经按照其中一个教程在我的服务器上安装了MySQL驱动程序。我创建了适当的目录,在其中放置了驱动程序:Java JBoss:未找到MySQL驱动程序,java,mysql,jdbc,jboss,Java,Mysql,Jdbc,Jboss,我正在JBoss7.1.1下使用MySQL开发web应用程序。 我已经按照其中一个教程在我的服务器上安装了MySQL驱动程序。我创建了适当的目录,在其中放置了驱动程序: modules |--com |--mysql |--main |--mysql-connector-java-5.1.18-bin.jar |--module.xml 我的module.xml如下所示: <?xml version="1.0" encoding="U
modules
|--com
|--mysql
|--main
|--mysql-connector-java-5.1.18-bin.jar
|--module.xml
我的module.xml
如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.0" name="com.mysql">
<resources>
<resource-root path="mysql-connector-java-5.1.18-bin.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
</dependencies>
</module>
然后,我尝试将其注入我的bean中,并像这样使用:
@Startup
@Singleton
public class StartupBean {
private static final Logger LOGGER = LogManager.getLogger(StartupBean.class);
@Resource(mappedName = "java:jboss/datasources/my_db")
private DataSource ds;
@PostConstruct
public void init() {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
LOGGER.error("MySQL driver not found!", e);
}
}
}
不幸的是,当我试图找到驱动程序时,我得到:
java.lang.ClassNotFoundException:com.mysql.jdbc.Driver
我还尝试不检查驱动程序,只调用ds.getConnection()
。没有任何例外。但当我尝试调用连接上的方法时,我得到:
java.lang.AbstractMethodError:org.jboss.jca.adapters.jdbc.jdk6.WrappedConnectionJDK6.getSchema()
这就是问题所在。配置连接时遗漏了什么?数据源是根据日志绑定的。我也尝试过更新的驱动程序版本(5.1.35-bin),但它没有改变任何东西。my mysql db的版本是5.6.24。您是否尝试将jdbc驱动程序包含在您的web inf/lib文件夹中?此外,如果您使用eclipse或netbeans开发应用程序,请确保在项目库中添加驱动程序。我正在使用Intellij adn gradle开发我的应用程序。ear的WEB-INF?稍后将尝试。我已将其放置在ear/lib目录中。现在没有
ClassNotFoundException
,但我仍然得到第二个错误。
@Startup
@Singleton
public class StartupBean {
private static final Logger LOGGER = LogManager.getLogger(StartupBean.class);
@Resource(mappedName = "java:jboss/datasources/my_db")
private DataSource ds;
@PostConstruct
public void init() {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
LOGGER.error("MySQL driver not found!", e);
}
}
}