【问题标题】:Could not find or load main class test [duplicate]无法找到或加载主类测试 [重复]
【发布时间】:2015-04-27 09:11:42
【问题描述】:

我已经遇到过这个错误。我今天也想不通。

   package com.example.cassandra;

   public class test
   {
     public static void main(String[] a)
     { 
        System.out.println("test");
     }
   }

这是我的 java 文件。我的工作目录是

  com/example/cassandra

编译命令是

  javac test.java

将工作目录更改为 com 的父目录

  cd ../../..

运行命令

  java test

  could not find or load main class test

请任何机构解释这里的问题是什么?

【问题讨论】:

  • 不冲突,仔细查看它们运行的​​命令行及其当前目录和包名,在你的机器上,cdcom 的父级并尝试运行此命令。
  • 你错过了 main() 函数定义中的 static 关键字

标签: java command-line


【解决方案1】:

您需要实际指定包名:

java com.example.cassandra.test

【讨论】:

  • @GopsAB 不冲突,仔细查看它们运行的​​命令行及其当前目录和包名称,在您的机器上,cdcom 的父级并尝试运行此命令.他们在包文件夹中运行它,这是错误的。
  • @GopsAB 试试看吧。
  • @GopsAB:完全没有冲突——在那里的答案中,建议 OP 运行java test.test,这又是完全限定的类名。
  • @hexafraction 谢谢。 Exception in thread "main" java.lang.NoClassDefFoundError: com/example/cassandra/test (wrong name: org/example/cassandra/test) at java.lang.ClassLoader.defineClass1(Native Method) 我在这里尝试了建议的一个,但我得到了这个错误。但是 test.class 存在于指定目录中
  • 我刚刚删除了旧的 test.class 并重新编译并重新运行程序。它正在工作。现在我接受你的回答,请让我知道任何现有的类文件是否会导致任何问题?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-02
  • 2014-01-07
相关资源
最近更新 更多