gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:26:21 24 4
gpt4 key购买 nike

我有 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;";
// /\

关于java - 为什么 Java 似乎不尊重我的类路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24188472/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com