如何在终端中运行Java类

3

我进行了很多研究,但是我无法找到解决我的问题的方法。我看到有很多人问这个问题,但是没有人为我回答。

我是Java的初学者,在Eclipse中制作了一个简单的计算器。

import java.util.Scanner;

public class Calculator {

    public static void main(String[] args) {

        Scanner numInput = new Scanner(System.in);

        double fnum, snum;
        String operation;

        System.out.println("First number: ");
        fnum = numInput.nextDouble();

        System.out.println("Second number: ");
        snum = numInput.nextDouble();

        Scanner oper = new Scanner(System.in);
        System.out.println("Please select one of the following operations: ");
        System.out.println("+");
        System.out.println("-");
        System.out.println("/");
        System.out.println("*");

        operation = oper.next();

        switch (operation){

            case "+":
                System.out.println("Your answer is: " + (fnum + snum));
                break;

            case "-":
                System.out.println("Your answer is: " + (fnum - snum));
                break;

            case "*":
                System.out.println("Your answer is: " + (fnum * snum));
                break;

            case "/":
                System.out.println("Your answer is: " + (fnum / snum));
                break;
        }
    }

}

稍后我进入Workspace文件夹查找Calculator.class文件。
我打开终端并输入:
Danylo-RIB:~ mac$ java /Users/mac/Documents/workspace/Calculator/bin/Calculator.class 

我按照如何在MacOS终端上运行类的所有说明进行了操作,但是在终端中除了以下内容之外,我没有得到我的程序的任何答案:
Danylo-RIB:~ mac$ java /Users/mac/Documents/workspace/Calculator/bin/Calculator.class 
Error: Could not find or load main class .Users.mac.Documents.workspace.Calculator.bin.Calculator.class
Danylo-RIB:~ mac$ 

所以我的问题是,我该如何做到这一点?我该如何在终端中运行一个类?

编辑:好的,感谢回答我的问题的人!


为什么不直接在 Eclipse 中运行? - OneCricketeer
编译时,您需要编写要编译的文件名。运行时,您需要设置类路径,然后编写要运行的类名。这对于所有新的Java程序员来说都很困难。 - Thorbjørn Ravn Andersen
5个回答

4

进入存储Calculator.java文件的目录,运行以下命令:

cd 目录路径

javac Calculator.java

这将创建一个名为Calculator.class的文件。现在,您可以使用以下命令运行已编译的类:
java Calculator

请注意,不需要添加.class

2
在线文档应该是您的首要资源: https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html 其中告诉我们命令行是:
java [options] classname [args]

更深入地讲,您可以从该页面的某个链接中阅读以下内容:https://docs.oracle.com/javase/8/docs/technotes/tools/unix/classpath.html#CBHHCGFB,这适用于几乎所有的Java工具。这些文档包含了您问题的答案。您可以使用默认类路径并将其设置为类路径根目录下的目录,如某个答案所建议的那样,或者使用文档中描述的类路径选项来设置类路径顶部的目录(们)。例如:
java -cp /Users/mac/Documents/workspace/Calculator/bin Calculator

1
@Ribchinski 其他答案之所以有效,是因为作为初学者,您尚未使用软件包,但稍后会这样做。因此,它们只是您问题的临时解决方案。 - Markus Benko

1
只需按照以下简单步骤进行:

From Terminal install open jdk

sudo apt-get install openjdk-7-jdk

请编写一个Java程序,并将文件保存为filename.java。

现在,从终端使用以下命令进行编译:

javac filename.java

如果一切正常,那么将会创建一个新的filename.class文件。要运行您刚编译的程序,请在终端中输入以下命令:
java filename

0

从命令行:

>javac Calculator.java

它将生成Calculator.class文件。然后

>java Calculator

如果找到主方法,则运行程序。

(Java环境变量应设置,并且必须从保存Calculator.java的文件夹中执行。)

如果您使用eclipse,则只需从eclipse工具栏中点击播放按钮即可。

enter image description here

希望这能有所帮助。


0

另一种方法是创建可运行的 .jar 文件。

首先,您需要为该类导出 jar 文件。您可以通过右键单击 .java 文件来执行此操作。然后按照图片中的步骤进行操作:导出 > 可运行的 Jar 文件。

下一步是在终端上运行它,命令为 java -jar your_runnable_jar_file.jar

Exporing jar file


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接