java类在Eclipse上执行但不在命令行中执行

时间:2018-04-25 14:33:18

标签: java executable javac

我的java类文件在Eclipse中运行,但不在命令行中运行。我尝试了所有可能的解决方案。我的代码具有以下结构:

Client_1/src/filedownload/Client.java

RMI_interface/src/filedownload/Hello.java

Client.java文件取决于Hello.javafiledownload是包的名称。 当我使用以下命令编译时,它可以工作。

javac RMI_interface/src/filedownload/Hello.java Client_1/src/filedownload/Client.java

但是当我使用以下命令在Client_1/src文件夹中执行类文件时,它不起作用。

java filedownload.Client

显示的错误是

Could not find or load main class

我在stackoverflow上尝试了很多帖子,但我无法解决。我正在使用ubuntu。

代码结构是

package filedownload;
import ....
public class Client implements Hello, Runnable{
...other functions.....
public static void main(String args[])throws Exception{

}
}

3 个答案:

答案 0 :(得分:0)

您的Client类是否有main()方法?编译后的.class文件在哪里(也就是说,你正在执行编译的当前目录是什么)?尝试执行时当前目录是什么?尝试执行时,类路径是什么?

没有所有这些信息,任何人都没有机会让你前进(但是明显的建议就是设置eclipse并在eclipse中做所有事情 - 让eclipse处理所有细节)。< / p>

(问题本身会在您的方案中提出各种可能的失败点,因此看起来。)

答案 1 :(得分:0)

您的所有步骤似乎都是正确的。您没有共享具有Client.java方法的main代码。 请确保遵循此main方法语法:

public static void main(String[] args){
  ...
}

E.g。如果你在没有main的情况下编写args,则无法找到它。

答案 2 :(得分:0)

您需要将您的课程放在与您的来源分开的单独文件夹中。

javac -d bin RMI_interface/src/filedownload/Hello.java Client_1/src/filedownload/Client.java

(文件夹&#39; bin&#39;必须已经存在) 内部文件夹&#39; bin&#39;执行命令:

java filedownload.Client