运行从另一个文件夹调用类的Java类

时间:2013-07-01 13:23:11

标签: java

我有一个文件夹/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?

2 个答案:

答案 0 :(得分:2)

如果您的类位于不同的位置,则必须在运行时设置类路径,就像编译时一样。

java -cp .:./A Test2                           # On Unix use :, on Windows ;

答案 1 :(得分:0)

问题是在类测试中你必须在文件的开头指定包。

package A;

然后在Test2类中导入它。

import A.Test

如果两个位置项目和项目/ A都在您的类路径中,则不必设置包并导入测试