[英]class not found exception in eclipse even though the user library containg jar file is in java build path
[英]Java database driver not found, even though it's in the jar file
我有一個連接到SQLServer數據庫的Java應用程序,它打算在命令行中運行。 在Maven依賴項中,我添加了以下內容:
<dependency>
<groupId>net.sourceforge.jtds</groupId>
<artifactId>jtds</artifactId>
<version>1.3.1</version>
</dependency>
通過Intellij運行程序時,我可以毫無問題地運行它。 當我取出創建的jar文件並將其打開時,可以看到JTDS驅動程序:
但是,當我嘗試使用與Intellij運行配置中使用的參數完全相同的參數在命令行運行jar時,出現錯誤:
Caused by: java.sql.SQLException: No suitable driver found for jdbc:jtds:sqlserver://databaseserver:1433/database
我運行的命令是
java -jar jarname.jar -cfg ../config.xml
這似乎與該特定驅動程序無關,因為如果我連接到Oracle數據庫並改為包含Oracle瘦驅動程序依賴項,則會遇到相同的問題。 (但是,只是為了使事情變得有趣,如果我添加了Postgres驅動程序依賴項,它在連接到Postgres數據庫的命令行上運行得很好。)
如果我手動將驅動程序jar(與maven依賴版本相同)添加到類路徑,則jar會正確運行。
是什么導致jar內的驅動程序不在類路徑上? (或者是否有其他原因可能導致此問題?)
MadProgrammer在上面的評論是一個問題:我沒有注冊驅動程序,因為我沒有意識到它是JDBC 3.0驅動程序,而不是JDBC 4.0。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.