如何在具有不同包层次结构的子类的类中运行Java程序?

时间:2015-02-16 14:41:17

标签: java

我有两个类,如:

Class GetData is like:

package com
public class GetData{
private String name = "John";
public String getName(){
    return name;
  }
}

package com.test;
import com.GetData;

public class Test{
   public static void main(String args[])
   {
       GetData data = new GetData();
       System.out.println("Welcome "+data.getName());
   }
}

当我尝试编译Test类时,会为undefined symbol抛出类似GetData的错误。我尝试过:

javac -cp .com/GetData.class Test.java

请帮助我

2 个答案:

答案 0 :(得分:2)

问题在于您如何指定类路径。您只需要指定包含类的目录的根目录,因此如果您有com/GetData.class,则只需要:

javac -cp . Test.java

虽然您应该在与包匹配的目录层次结构中拥有源代码,但我希望

javac -cp . com/test/Test.java

然后运行:

javac -cp . com.test.Test

所有这一切都假设您的类路径上. 不是 - 默认情况下,您可能会发现只能使用:

javac com/test/Test.java
java com.test.Test

答案 1 :(得分:0)

问题是如何运行代码。如果您不确定如何通过命令控制台运行,只需运行eclipse Run As-> Java Application。