【问题标题】:cannot find or load main class找不到或无法加载主类
【发布时间】:2017-02-26 21:42:08
【问题描述】:
import java.sql.*;

class TestingDatabase
{
        public static void main(String args[])
        {
            try
            {
                 Class.forName("oracle.jdbc.driver.OracleDriver");
                 Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","metalgear");
                java.util.Scanner input = new java.util.Scanner(System.in);
                int i = input.nextInt();
                PreparedStatement ps = conn.prepareStatement("select * from students where sid=?");
                ps.setInt(1,i);
                ResultSet rs = ps.executeQuery();
                rs.next();
                System.out.println(rs.getInt(1));
                System.out.println(rs.getInt(2));

            }
           catch(ClassNotFoundException e){}
           catch(SQLException e){}
       }
}

我将此代码保存在桌面上并使用 javac TestingDatabase.java 命令。 它编译成功但是当我输入命令时 java TestingDatabase 它说Error: could not find or load main class TestingDatabase

我仔细检查了任何拼写错误,但找不到。 任何人都可以提出任何解决方案。

【问题讨论】:

  • 各方面的代码都很糟糕。您的直接问题可能是路径问题。空捕获块?当代码什么都不做并且你不知道为什么时,你会后悔的。
  • @azurefrog 我知道这句话是什么意思,但我不明白为什么会出现这个错误。
  • @Max 我试过了。但结果相同。
  • 您确实需要小心查看@azurefrog 的重复页面。有很多解决方案(BUNCH SOLUTIONS WITH NOTES AND REASONS)和理由。所以如果你找不到你的......那么我们很抱歉

标签: java find load mainclass


【解决方案1】:

同意 Young Millie 对可能原因列表的审查。测试时,我发现代码或执行都没有问题。我使用命令行:

14:31:28$ javac TestingDatabase.java 14:31:33$ java 测试数据库 14:31:36 美元

我最好的猜测是你的类路径可能不正确;它应该在某个时候包含当前目录 (.),或者根本没有定义类路径

【讨论】:

    猜你喜欢
    • 2015-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-04
    • 2015-09-22
    • 2012-06-20
    相关资源
    最近更新 更多