加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

为什么Java似乎不尊重我的类路径?

发布时间:2020-12-15 04:20:43 所属栏目:Java 来源:网络整理
导读:我的目录中有 jt400.jar: /path /jt400.jar /Test.java Test.java的内容: import java.sql.*;//import com.ibm.as400.*; // To be uncommented laterpublic class Test { public static void main(String[] args) throws Exception { String url = "jdbc:a
我的目录中有 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;";
//                      /

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读