ClassNotFoundException 在命令行上运行但在 IntelliJ IDEA 上运行良好

苏克图帕特尔

所以我只是尝试了一个简单的 JDBC 初学者代码来检索表行。当我在 IntelliJ IDEA 上运行它时,它运行良好。但是当我尝试使用命令行运行它时它不会运行。

我经历了许多类似的问题,但没有一个回答我的问题。我尝试了以下几件事:

  1. 在编译和运行 java 文件时查找任何错字(正确)
  2. 在类路径中包含 ojdbc8 驱动程序,但效果不佳。
  3. 我已经验证我在环境变量中设置了我的 JDK。

并且我的文件保存为“oracle.java”,如果有帮助,我的类名是“oracle”。

import java.sql.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.lang.Class;
class oracle
{
    public static void main(String args[])
    {
        try
        {
            Class.forName("oracle.jdbc.driver.OracleDriver");

            Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","oracle");

            Statement stmt = con.createStatement();

            ResultSet rs = stmt.executeQuery("select * from emp");
            while(rs.next())
                System.out.println(rs.getInt(1)+" "+rs.getString(2)+" "+rs.getInt(3));

            con.close();
        }

        catch(Exception e)
        {
            System.out.println(e);
        }
    }
}

输出:

C:\Users\mypc\Desktop>java -cp ojdbc8.jar -Xdiag oracle
Error: Could not find or load main class oracle
Caused by: java.lang.ClassNotFoundException: oracle
java.lang.ClassNotFoundException: oracle
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
    at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
    at java.base/java.lang.Class.forName0(Native Method)
    at java.base/java.lang.Class.forName(Unknown Source)
    at java.base/sun.launcher.LauncherHelper.loadMainClass(Unknown Source)
    at java.base/sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
大卫·P·考德威尔

假设您已经使用 编译了文件javac,那么您需要在类路径中包含编译它的位置。如果您有最简单的设置,并且在javac没有-d指示编译目标参数的情况下调用,它将与源文件位于同一目录中。

如果没有,假设你的 JAR 文件和你的源文件在同一个目录下,你需要做:

javac -classpath ojdbc8.jar oracle.java`

之后,您需要在运行时在类路径中包含已编译类的位置。对于我的示例,您的工作目录与源文件和 jar 文件的位置相同。

java -classpath ojdbc8.jar;. oracle

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在命令行上独立运行Liquibase的ClassNotFoundException

在IntelliJ IDEA中运行时java.lang.ClassNotFoundException

带有Maven的Oracle JDBC项目:在IDE中运行良好,但在命令行中出现ClassNotFoundException

程序在Eclipse中运行良好,但在命令行上运行Jar时抛出错误

如何在IntelliJ IDEA 14.1中获取运行Java的命令行参数

带有命令行参数的intelliJ IDEA运行类

如何从命令行而不是Intellij IDEA运行JUnit测试?

暂存文件未在IntelliJ IDEA上运行

IntelliJ IDEA无法在Ubuntu 17上运行

运行JAR时发生ClassNotFoundException,在IntelliJ IDEA中运行时没有错误

IntelliJ IDEA:ClassNotFoundException如果运行调试,则执行/运行确实有效

从PHP进行查询时,SQL的UPDATE请求失败,但在SQL命令行上运行良好

Ruby 脚本在命令行上运行良好,但在 Jenkins 中失败

Intellij IDEA无法运行

IntelliJ IDEA 插件依赖 ClassNotFoundException

IntelliJ IDEA中的错误“ ClassNotFoundException”

如何从命令行在 Intellij idea 中运行 testng appium-java maven 项目构建?

在Windows命令行上运行在IntelliJ中创建的Java程序

从命令行运行Jar:ClassNotFoundException

为什么WildFly在Intellij IDEA的调试模式下抛出异常,而运行模式却运行良好?

在命令行上运行 java 时显示错误消息“java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver”

IntelliJ IDEA / Scala:在类路径上运行配置丢失资源

无法通过 IntelliJ Idea 在 tomcat 上运行服务

黄瓜场景未在 WINdows 10 上的 Intellij IDEA 中运行

Intellij IDEA插件无法运行

IntelliJ IDEA 不运行类

在Ubuntu上安装IntelliJ IDEA

无法在 .xsessionrc 中运行 bash 测试,该测试在命令行上运行良好

Spring Boot 应用程序通过 Maven 运行良好,但不能通过 IDE Intellij IDEA