从终端

时间:2016-09-07 15:04:47

标签: java

请原谅我的困惑,我在Stack Overflow上搜索了这个主题,但是没有完全理解答案。我是绿色的。我正在使用Eclipse创建我的第一个Java程序,它编译并成功运行。

    package com.java24hours;

class Saluton {
    public static void main (String[] arguments) {
        //My First Java program goes here
        String greeting = "Saluton mondo!";
        System.out.println(greeting);
    }
}

所以我试图在Mac上的终端上运行它。我的文件路径是/ Users / admin / documents / java / java24 / com / java24hours

我尝试在java24hours目录中运行" Java Saluton.java"并返回一个"错误:无法找到或加载主类Saluton.java"

据我了解,这与包装有关。我已经研究过软件包名称,但不了解完全限定名称如何与类和包一起使用。

虽然这在IDE中编译,但我想让它在终端编译并理解为什么它没有按照我想要的方式编译。

感谢您的耐心等待。

2 个答案:

答案 0 :(得分:1)

你遗漏了几个元素。

一个答案和评论指出,您还没有编译源代码,以生成类文件。这绝对是正确的。 Eclipse独立完成,并且可能将类文件放在" bin"目录,虽然我不确定父文件夹是什么,也许" / Users / admin / documents / java"。

要从Eclipse之外的命令行编译和执行类,最好有一个"构建脚本"构建类文件并可选择运行您的类。这将使用" Gradle"或者" Maven",或者也许" Ant" (按照我的喜好递减顺序)。

在任何情况下,当您从命令行执行一个类时,您必须告诉Java进程" classpath"使用,然后是"完全合格的"的名称。要执行的类名。

所以,如果你有用#34; / Users / admin / documents / java / bin"写的类文件。目录,您可能正在运行" / Users / admin / documents / java"目录,您将执行以下命令:

java -cp bin com.java24hours.Saluton

答案 1 :(得分:0)

首先编译:打开终端并导航到.Java文件的实际位置。在这种情况下/ Users / admin / documents / java / java24 / com / java24hours

现在写在终端

javac Solution.java

这将创建一个名为“Solution.class”的新文件

其次,运行它

在创建.class文件的同一终端中写入

java com.java24hours.Solution

应该做的伎俩

相关问题