gpt4 book ai didi

java - JBOSS AS 7 和 com.mysql.jdbc.Driver 错误

转载 作者:太空宇宙 更新时间:2023-11-03 10:23:11 26 4
gpt4 key购买 nike

我正在使用 JBOSS AS 7.0.2。我想以旧方式创建到 mysql 服务器的连接(我知道我应该使用 JNDI,但我只是需要它来做一些快速的事情):

Class.forName("com.mysql.jdbc.Driver").newInstance();
con = DriverManager.getConnection(.....);

我在 C:\Java\jboss-as-7.0.2.Final\standalone\deployments 下包含了 mysql-connector-java-5.1.18-bin.jar。我还在构建路径下添加了它。我可以通过 Data Source Explorer 查看我的表。但是当我尝试通过代码连接到它时,它会在尝试创建新实例时抛出异常:

Class.forName("com.mysql.jdbc.Driver").newInstance();

ClassNotFoundException catch 子句捕获此异常:

Error: com.mysql.jdbc.Driver from [Module "deployment.Seminarska.war:main" from Service Module Loader]

我找到了 this使用此解决方案的线程:

As a rule you should not be including your JDBC drivers in your war file.

I suggest you mark the driver as provided and add it to the lib directory of the server.

将驱动程序标记为已提供 是什么意思?如何做到这一点?

最佳答案

“将驱动程序标记为已提供”与使用 Maven 作为构建工具时如何指定模块的依赖关系有关。依赖项可以有不同的范围,“提供”意味着编译需要特定的依赖项,但将由运行时环境(通常是应用程序服务器)提供,因此它不应包含在打包的工件中(如 war )。

更多关于 Maven 依赖范围的信息:

http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html

关于如何在 JBoss AS 7 中配置数据源,您可以在此处找到说明:

https://community.jboss.org/wiki/DataSourceConfigurationInAS7

关于java - JBOSS AS 7 和 com.mysql.jdbc.Driver 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8914502/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com