【问题标题】:Classpath seems correct but JVM still could not find or load main class类路径似乎正确,但 JVM 仍然无法找到或加载主类
【发布时间】:2015-01-07 06:25:49
【问题描述】:

我对编程和 java 比较陌生,并且正在尝试学习如何从命令行创建用户定义的包。我得到以下信息:Error: Could not find or load main class TestPhone。我已经查看了有关此类错误的帖子,包括评论良好的帖子here。该帖子列出了 JVM 运行 java 程序所经过的 4 个步骤:

  1. 搜索类的编译版本。
  2. 加载类。
  3. 检查该类是否具有带有签名static void main(String[])main 方法。
  4. 调用该方法,将命令行参数作为String[] 传递给它。

显然,由于某种原因,我的 JVM 找不到我的 TestPhone.class,我还没有弄清楚。这是我的目录结构:

我的classpath设置如下:

我的课程包含来自 Mala Gupta 的简单代码,用于测试类变量的可访问性:

package mobile;
class Phone {
    static boolean softKeyboard = true;
}


package mobile;
class TestPhone {
    public static void main (String[] args) {
        Phone.softKeyboard = false;

        Phone p1 = new Phone();
        Phone p2 = new Phone();

        System.out.println(p1.softKeyboard);
        System.out.println(p2.softKeyboard);

        p1.softKeyboard = true;

        System.out.println(p1.softKeyboard);
        System.out.println(p2.softKeyboard);
    }
}

知道为什么它找不到我的课程吗?非常感谢。

系统规格: Java 版本 1.8.0 Javac 1.8.0 32 位操作系统上的 Win 7

【问题讨论】:

    标签: java class main


    【解决方案1】:

    java application launcherjava 需要类的完全限定名称 mobile.TestPhone../mobile 目录不必在类路径中。

    【讨论】:

    • 谢谢。当一切似乎都失败时,我添加了../mobile。但它不应该像你指出的那样在那里。 mobile.TestPhone 做到了!
    【解决方案2】:

    你在 cmd 的 myJavaProject 文件夹中。

    尝试去 c:\myJavaProject\mobile 然后它应该可以工作,因为你的班级是在移动而不是在 myJavaProject 文件夹

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-17
      • 1970-01-01
      相关资源
      最近更新 更多