Jtds没有合适的驱动程序maven tomcat运行

时间:2013-02-13 13:39:36

标签: maven jndi jtds maven-tomcat-plugin

我遇到这个小问题:

已将依赖关系添加到pom这样的

  ....

  <dependency>
    <groupId>net.sourceforge.jtds</groupId>
    <artifactId>jtds</artifactId>
    <version>1.2.6</version>
  </dependency>

..已将Maven依赖项添加到我的war应用build path

我的context.xml看起来像:

 <?xml version='1.0' encoding='utf-8'?>
 <Context reloadable="true">
  <Resource name="jdbc/TestDS" auth="Container"
        type="javax.sql.DataSource"
        driverClass="net.sourceforge.jtds.jdbcx.JtdsDataSource"
        url="jdbc:jtds:sqlserver://localhost:1433/testdb"
        username="sa" password=""/>     
</Context>

...

当我执行mvn tomcat:run时。我明白了

org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class ''   
for connect URL 'jdbc:jtds:sqlserver://localhost:1433/testdb'
.....
Caused by: java.sql.SQLException: No suitable driver
    at java.sql.DriverManager.getDriver(DriverManager.java:264)
    at     

org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1437)
    ... 36 more

2 个答案:

答案 0 :(得分:1)

如果使用JNDI定义数据源,则驱动程序必须为"available to both Tomcat internal classes and to your web application"

因此,如果您只在战争中添加驱动程序jar,Tomcat将无法找到驱动程序类。

你可以add the jar to the plugin dependencies

答案 1 :(得分:0)

并查看http://tomcat.apache.org/maven-plugin-2.2/run-mojo-features.html(请参阅如何声明derby依赖项)