我有一个文件夹/projects/A/Test.java 使用以下代码:
public class Test {
public static void t() {
System.out.println("Hey");
}
}
并在文件夹#2 / projects / 使用以下代码:
public class Test2 {
public final static void main(String[] args) {
Test t = new Test();
t.t();
}
}
我使用:javac Test.java编译第一个 我用javac Test2.java -cp ./A
编译第二个现在,当我尝试运行Test2:java Test2时,收到错误:
Exception in thread "main" java.lang.NoClassDefFoundError: Test
如何运行从子文件夹调用Test的Test2?
答案 0 :(得分:2)
如果您的类位于不同的位置,则必须在运行时设置类路径,就像编译时一样。
java -cp .:./A Test2 # On Unix use :, on Windows ;
答案 1 :(得分:0)
问题是在类测试中你必须在文件的开头指定包。
package A;
然后在Test2类中导入它。
import A.Test
如果两个位置项目和项目/ A都在您的类路径中,则不必设置包并导入测试