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

标签 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 类时,它会抛出一个错误,例如 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/

相关文章:

java - 为什么要在 Java 中编写自定义异常类

java - 基于 Spring 注解的表单验证

java - HTML5 模式下的 AngularJS + Java

java - 当两者的输出相同时,为什么我的 if/else 语句不匹配?

java - eclipse /Java : easy way to consolidate classes source code without individual copy/paste?

java - 使用 profiler4j 进行分析

java - 用于高延迟连接的 sslsocket session 机制

java - 客户端和服务器使用同一台机器

java - Selenium2 和 webdriver 的一个很好的工作示例

java - 将本地文件夹复制到 SMB 服务器文件夹