java - 通过 cmd 提示符运行 java 时未得到预期结果

标签 java

我一直在使用IDE来执行java程序,并且对于通过命令提示符运行java程序我是全新的。我的 javacodes 目录的文件结构如下所示:

enter image description here

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/

相关文章:

java - LWJGL 鼠标不响应 Cocoa 模拟鼠标事件

java - 名称为 *PU 的重复持久性单元

java - 将 Java 项目转换为动态 Web 项目

java - Arrays.asList() 问题

Java 窗口生成器错误

java - 使用 EclipseLink 进行数据库模式验证

java - 如何使用比较器执行此代码?

java - 如何在Netty channel 中调度HttpRequest?

java - 带有 com.sun.net.HttpServer 和 .net 的 JAX WS

java - 配置没有二级缓存的查询缓存