所以我尝试在sublime上开始编译和运行java,如果没有定义包,它可以正常工作。
编译并运行:
public class Tester
{
public static void main(String[] args)
{
System.out.println("this is a test.");
}
}
但是如果我添加一个包:
package test;
public class Tester
{
public static void main(String[] args)
{
System.out.println("this is a test.");
}
}
我收到了这个错误
Error: Could not find or load main class Tester
[Finished in 6.8s with exit code 1]
[cmd: ['javac "Tester.java" && java "Tester"']]
[dir: /Users/ph/Documents/JAVA/test]
[path: /usr/bin:/bin:/usr/sbin:/sbin]
知道为什么会发生这种情况或如何解决它?
答案 0 :(得分:1)
Sublime Text正在尝试在名为" test"的目录中编译您的程序。 (见#2),这是包名。它正在寻找名为" Tester.java"的文件。在该目录中(参见#1),但它并不存在,因为" Tester.java"在当前目录中(" JAVA")。
在包中编译Java文件时,文件需要位于反映包层次结构的目录结构中。因此,您需要将文件移动到与其所包含的包对应的目录中。例如,类" A"在包example.utils.letters中必须存在于路径../ example / utils / letters / A.java
创建文件夹" JAVA / test"并将Tester.java移动到那里,然后运行它。