我一直在使用IDE来执行java程序,而且我是通过命令提示符运行java程序的新手。我的javacodes
目录的文件结构如下所示:
JdbcDriverTest3
类定义如下:
import java.sql.Driver;
import java.sql.DriverManager;
import java.util.Enumeration;
public class JdbcDriverTest3 {
public static void main(String[] args) {
Enumeration<Driver> e = DriverManager.getDrivers();
while(e.hasMoreElements()){
Driver d = e.nextElement();
System.out.println(d.getClass());
System.out.println(d.getClass().getName());
}
}
}
我在命令提示符下运行了以下命令:
C:\javacodes>javac JdbcDriverTest3.java
C:\javacodes>java -Djdbc.driver="oracle.jdbc.OracleDriver" JdbcDriverTest3
代码应该打印驱动程序类名。但它没有给出任何回应。请建议我使用java相关命令的正确方法。提前谢谢。
编辑:使用上述java代码的目的是了解如何通过命令提示符加载驱动程序类colud。
答案 0 :(得分:1)
系统属性的名称为jdbc.drivers
,最后为s
。将命令行更改为:
java -Djdbc.drivers=oracle.jdbc.OracleDriver JdbcDriverTest3
您可以在Javadoc of java.sql.DriverManager
以上假设您已正确设置CLASSPATH环境变量。鉴于屏幕截图中的目录结构,您还可以尝试:
作为快速测试java -cp ojdbc14.jar:. -Djdbc.drivers=oracle.jdbc.OracleDriver JdbcDriverTest3
答案 1 :(得分:1)
尝试使用分号,如:
java -cp ;ojdbc14.jar; -Djdbc.drivers=oracle.jdbc.OracleDriver JdbcDriverTest3
代码将是:
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Collections;
import java.util.Enumeration;
import java.util.List;
public class JdbcDriverTest3 {
public static void main(String args[]) {
//Class driverClass = Class.forName("oracle.jdbc.OracleDriver");
//DriverManager.registerDriver((Driver) driverClass.newInstance());
Enumeration<Driver> e = DriverManager.getDrivers();
while(e.hasMoreElements()){
Driver d = e.nextElement();
System.out.println(d.getClass());
System.out.println(d.getClass().getName());
}
}
}
编译并运行如下:
C:\javacodes>javac JdbcDriverTest3.java
C:\javacodes>java -cp ;ojdbc14.jar; -Djdbc.drivers=oracle.jdbc.OracleDriver JdbcDriverTest3
Out put:
class oracle.jdbc.driver.OracleDriver
oracle.jdbc.driver.OracleDriver