2013-07-01 19 views
1

/projects/A/Test.java 我有一个文件夹中使用下面的代码调用类:运行Java类,它从另一个文件夹

public class Test { 

    public static void t() { 

     System.out.println("Hey"); 

    } 

} 

,并在文件夹#2 /项目/ 具有以下代码:

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

如何运行的Test2,这从一个子文件夹调用测试?

回答

2

如果你的类在不同的地方,你必须在运行时设置类路径,就像编译时一样。

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

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

package A; 

然后将它导入到Test2类中。

import A.Test 

你没有设置封装和测试的进口,如果这两个地点的项目和项目/ A是你的classpath

相关问题