簡體   English   中英

為什么Java似乎不尊重我的類路徑?

[英]Why doesn't Java seem to respect my classpath?

我的目錄中有jt400.jar

/path
    /jt400.jar
    /Test.java

Test.java的內容:

import java.sql.*;

//import com.ibm.as400.*;  // To be uncommented later
public class Test {
    public static void main(String[] args) throws Exception {
        String url = "jdbc:as400//myserver.domain.com;DSN=DB2;Uid=name;Pwd=password;";
        Connection conn = DriverManager.getConnection(url);
    }
}

我編譯這個:

 $ javac -cp jt400.jar Test.java

並嘗試運行:

 $ java -cp jt400.jar Test.java

哪個產生:

Exception in thread "main" java.sql.SQLException: No suitable driver found for jdbc:as400://myserver.domain.com;DSN=DB2;Uid=name;Pwd=password;
        at java.sql.DriverManager.getConnection(DriverManager.java:635)
        at java.sql.DriverManager.getConnection(DriverManager.java:213)
        at Killer.main(Test.java:8)

現在,在jt400.jar里面我已經驗證:

$ jar -tf jt400.jar | grep class | grep AS400 | grep Driv
com/ibm/as400/access/AS400JDBCDriver.class

然而,當我取消對進口線的注釋時,我得到了

Test.java:3: package com.ibm.as400 does not exist
import com.ibm.as400.*;

所以要么我完全誤解了Java的類路徑和導入機制,要么肯定它不尊重我提供的類路徑。

我怎么解決這個問題? 我無法在Google或Stackoverflow上找到任何有用的東西,但我沒有花太多時間在Java上,所以我確定我做錯了什么。

String url = "jdbc:as400//myserver.domain.com;DSN=DB2;Uid=name;Pwd=password;";

你錯過了冒號,它應該是:

String url = "jdbc:as400://myserver.domain.com;DSN=DB2;Uid=name;Pwd=password;";
//                      /\

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM