拥有ojdbc6.jar之后,jdbc ClassNotFoundException

时间:2017-02-22 04:39:10

标签: java sql oracle jdbc jar

enter image description here

当我运行代码时,我得到ClassNotFoundException。我认为这是因为ojdbc6.jar文件。我从Oracle下载文件并将文件复制到我的子目录,我在那里运行命令行上的代码。但是,我我仍然得到错误。任何人都可以帮我理解我做错了什么? enter image description here

4 个答案:

答案 0 :(得分:3)

您遇到此问题,因为您尝试运行的类文件取决于名为ojdbc6.jar的jar文件。首先,您需要编译jar文件和类文件。

1)首先将您的jar文件放在您拥有Java代码的同一目录中。

2)然后编译jar和java文件:

javac -cp ".:/path_of_jar_file_found_using_pwd/ojdbc6.jar" MyJavaFile.java

3)现在同时运行:

java -cp ojbdc6.jar:. MyJavaFile

这应该适用于mac / linux或其他基于unix的system.For windows,将:替换为;

答案 1 :(得分:1)

您从哪里开始运行程序? 从截图中,我可以看到您正在从终端

运行它

使用以下命令从提供必要jar的终端运行它,该jar包含在此特定运行的类路径中。

java -cp "Test.jar;lib/*" my.package.MainClass

如果您需要必要的jar,可以通过以下命令在windows中设置classpath变量,并将必要的jar添加到现有的classpath变量

SET CLASSPATH = %CLASSPATH%;Test.jar;C:/username/Test1.jar

然后,您可以正常运行java程序

java SimpleInsert

如果您使用的是像eclipse,NetBeams这样的IDE,则必须在构建路径中设置构建路径和外部jar。

有关更多信息,请参阅此帖子 Setting multiple jars in java classpath

答案 2 :(得分:0)

正如我之前的评论中所述,您可以考虑在ojdbc6.jar变量中添加CLASSPATH,或者可以在%JAVA_HOME%\jre\lib\ext文件夹下添加此jar,以便extension类加载器将能够加载必要的类文件。

SET CLASSPATH = %CLASSPATH%;C:/JARS/ojdbc6.jar;

您可以使用CTRL + SHIFT + T轻松检查必要的类是否是您的应用程序的一部分,因为它还标识了添加的JAR中的类。

希望这有帮助!

答案 3 :(得分:0)

  1. 右键单击警告消息->快速修复;

  2. 选择选项,将关联的原始classpath条目标记为发布/导出依赖项。 (如下图所示)