所以我尝试在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]
知道为什么会发生这种情况或如何解决它吗?
最佳答案
- [cmd: ['javac "Tester.java"&& java "Tester"']]
- [目录:/Users/ph/Documents/JAVA/test]
Sublime Text 正在尝试在名为“test”的目录(参见#2)(即包名称)中编译您的程序。它正在该目录中查找名为“Tester.java”的文件(请参阅#1),但该文件不存在,因为“Tester.java”位于当前目录(“JAVA”)内。
在包中编译 Java 文件时,文件需要位于反射(reflect)包层次结构的目录结构中。因此,您需要将文件移动到与其所包含的包相对应的目录。例如,包 example.utils.letters 中的类“A”必须存在于路径 ../example/utils/letters/中A.java
创建文件夹“JAVA/test”并将Tester.java移入其中,然后运行它。
关于java - 在 Sublime Text [OSX] 上运行 Java 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38733176/