请原谅我的困惑,我在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中编译,但我想让它在终端编译并理解为什么它没有按照我想要的方式编译。
感谢您的耐心等待。
答案 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
应该做的伎俩