我有两个类,例如:
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 类时,它会抛出一个错误,例如 GetData
的 undefined symbol
。我尝试过:
javac -cp .com/GetData.class Test.java
请帮帮我
最佳答案
问题在于您如何指定类路径。您只需要指定包含类的目录的根目录,因此如果您有 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
关于java - 如何运行具有不同包层次结构中子类的类的Java程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28543864/