我一直在使用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代码的目的是为了了解如何通过命令提示符加载驱动程序类。
最佳答案
尝试使用分号,例如:
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
输出:
class oracle.jdbc.driver.OracleDriver
oracle.jdbc.driver.OracleDriver
关于java - 通过 cmd 提示符运行 java 时未得到预期结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48394398/