Jer*_*rin 0 java mysql jdbc jboss7.x
我正在使用JBOSS AS 7.0.2.我想以旧的方式创建一个到mysql服务器的连接(我知道我应该使用JNDI,但我只是需要一些快速的东西):
Class.forName("com.mysql.jdbc.Driver").newInstance();
con = DriverManager.getConnection(.....);
Run Code Online (Sandbox Code Playgroud)
我在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();
Run Code Online (Sandbox Code Playgroud)
ClassNotFoundException catch子句捕获此异常:
Error: com.mysql.jdbc.Driver from [Module "deployment.Seminarska.war:main" from Service Module Loader]
Run Code Online (Sandbox Code Playgroud)
我用这个解决方案找到了这个帖子:
通常,您不应该在war文件中包含JDBC驱动程序.
我建议您将驱动程序标记为已提供,并将其添加到服务器的lib目录中.
什么意思标记驱动程序提供?怎么做到这一点?
小智 5
"将驱动程序标记为已提供"与如何使用Maven作为构建工具指定模块的依赖关系有关.依赖可以有不同的范围和"规定"意味着需要编制特定的依赖,但将被运行时环境(通常是应用服务器)提供,因此它不应该被包含在打包的神器(如战争).
有关Maven依赖范围的更多信息,请访问:
http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html
关于如何在JBoss AS 7中配置数据源,您可以在此处找到说明:
https://community.jboss.org/wiki/DataSourceConfigurationInAS7
归档时间: |
|
查看次数: |
2287 次 |
最近记录: |