运行java文件

运行java文件,java,jdbc,jdbc-odbc,Java,Jdbc,Jdbc Odbc,在下面的场景中,我将所有文件(HW2.java和用于JDBC/ODBC的3个jar文件)都放在文件夹src中。我正在运行以下命令,但仍有错误,但上面的代码在eclipse中运行良好,只有在通过命令行运行代码时才会出现问题: src> javac -cp ".:*.jar" HW2.java src>java -cp ".:*.jar" HW2 window building 10 20 300 400 Error: Could not find or load main cla

在下面的场景中,我将所有文件(
HW2.java
和用于JDBC/ODBC的3个jar文件)都放在文件夹
src
中。我正在运行以下命令,但仍有错误,但上面的代码在eclipse中运行良好,只有在通过命令行运行代码时才会出现问题:

src> javac -cp ".:*.jar" HW2.java


src>java -cp ".:*.jar" HW2 window building 10 20 300 400

Error: Could not find or load main class HW2

src> java HW2 window building 10 20 300 400

java.sql.SQLException: No suitable driver found for jdbc:oracle:thin:@localhost:
1521:orcl
        at java.sql.DriverManager.getConnection(Unknown Source)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at HW2.DBconnect(HW2.java:22)
有人能告诉我如何正确运行吗?

尝试添加代码:

Class.forName("oracle.jdbc.driver.OracleDriver");
在你接通之前


这将确保Oracle驱动程序已由类加载器加载。

您不应在类路径周围加引号,它应在以下情况下工作:

java -cp .:*.jar HW2 window building 10 20 300 400

我假设您在linux上,否则您需要使用分号作为类路径条目分隔符。

您为什么认为可以在-cp参数中使用*呢?也许你需要学习使用ant或maven?@b可能问题在于他在类路径周围使用引号。AFAIKJava(特别是Linux上的)确实支持扩展*,请看,我认为您的引用是反向的。如果不引用,shell将扩展,而这不会触发您链接到的功能。自从Java 6以来,只要您使用兼容JDBC 4的驱动程序,就不需要这样做