【问题标题】:JBOSS AS 7 and com.mysql.jdbc.Driver errorJBOSS AS 7 和 com.mysql.jdbc.Driver 错误
【发布时间】:2012-01-18 17:26:23
【问题描述】:

我正在使用 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。我还在构建路径下添加了它。我可以通过数据源资源管理器查看我的表。但是当我尝试通过代码连接到它时,它会在尝试创建新实例时抛出异常:

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 线程使用这个解决方案:

一般来说,你不应该在你的战​​争中包含你的 JDBC 驱动程序 文件。

我建议您将驱动程序标记为已提供并将其添加到库中 服务器目录。

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

【问题讨论】:

    标签: java mysql jdbc jboss7.x


    【解决方案1】:

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-16
      • 2012-10-14
      • 2015-05-11
      • 2012-04-16
      • 2013-03-15
      • 2013-04-02
      • 2012-07-05
      相关资源
      最近更新 更多