当我运行代码时,我得到ClassNotFoundException。我认为这是因为ojdbc6.jar文件。我从Oracle下载文件并将文件复制到我的子目录,我在那里运行命令行上的代码。但是,我我仍然得到错误。任何人都可以帮我理解我做错了什么?
答案 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)
右键单击警告消息->快速修复;
选择选项,将关联的原始classpath条目标记为发布/导出依赖项。 (如下图所示)