[英]JBOSS AS 7 and com.mysql.jdbc.Driver error
我正在使用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]
我發現這個線程這個解決方案:
通常,您不應在war文件中包括JDBC驅動程序。
我建議您將驅動程序標記為已提供,並將其添加到服務器的lib目錄中。
將驅動程序標記為已提供是什么意思? 怎么做到的?
如果將Maven用作構建工具,則“將驅動程序標記為提供”與您如何指定模塊的依賴項有關。 依賴關系可以具有不同的范圍,“提供”意味着編譯需要特定的依賴關系,但是依賴關系將由運行時環境(通常是應用程序服務器)提供,因此不應將其包含在打包的工件中(如戰爭)。
有關Maven依賴范圍的更多信息,請參見:
http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html
關於如何在JBoss AS 7中配置數據源,您可以在這里找到說明:
https://community.jboss.org/wiki/DataSourceConfigurationInAS7
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.