无法使用附加的库/jar文件javac classpath进行编译
我正在尝试使用oracle中的ojdbc6.jar使用javac编译代码 我的源代码在'src'中,my.class在'bin'中,jar在includes中 我当前的javac命令是:无法使用附加的库/jar文件javac classpath进行编译,java,jar,javac,Java,Jar,Javac,我正在尝试使用oracle中的ojdbc6.jar使用javac编译代码 我的源代码在'src'中,my.class在'bin'中,jar在includes中 我当前的javac命令是: javac -cp ".;./includes/ojdbc6.jar" src/*.java -d bin 在我将驱动程序导入一个源文件之前,这一直有效。现在我得到: javac -cp ".;./includes/ojdbc6.jar" src/*.java -d bin src/OracleSinglet
javac -cp ".;./includes/ojdbc6.jar" src/*.java -d bin
在我将驱动程序导入一个源文件之前,这一直有效。现在我得到:
javac -cp ".;./includes/ojdbc6.jar" src/*.java -d bin
src/OracleSingleton.java:1: package oracle.jdbc.driver does not exist
import oracle.jdbc.driver.OracleDriver;
我确信问题出在我的类路径上,知道如何解决这个问题吗。我已经手动检查了文件是否在那里,它是否在
鉴于我还没有走到这一步,我不妨先发制人地问下一个问题,运行程序时我是否也必须指向这个jar?如果是的话,怎么办
非常感谢我不确定我是否看到了问题所在,但这里有一个工作示例,可能会有所帮助。我找到司机了
我认为您应该使用-classpath而不是cp,这应该可以解决问题您是在Windows还是在类unix系统(Linux、Mac、Solaris、*BSD)上?在后一种情况下,您需要
:
而不是代码>作为路径分隔符。有任何理由认为这可能吗?两种形式似乎都是正确的。
import java.sql.*;
import java.util.*;
class DriveTest {
public static void main (String args [])
throws SQLException, ClassNotFoundException {
System.out.println("Current JDBC Drivers: "
+ System.getProperty("jdbc.drivers"));
Enumeration e = DriverManager.getDrivers();
while (e.hasMoreElements()) {
System.out.println(e.nextElement());
}
}
}
$ javac -cp .:ojdbc6.jar DriveTest.java
$ java -cp .:ojdbc6.jar DriveTest
Current JDBC Drivers: null
oracle.jdbc.OracleDriver@2666e815
$ jar tf ojdbc6.jar | grep OracleDriver
oracle/jdbc/OracleDriver.class
oracle/jdbc/driver/OracleDriver$1.class
oracle/jdbc/driver/OracleDriver.class
oracle/jdbc/driver/OracleDriverExtension.class
$ cat META-INF/services/java.sql.Driver
oracle.jdbc.OracleDriver