找不到javac软件包

时间:2020-05-26 13:19:13

标签: java import package

我正在编写一个没有任何IDE的简单Java程序,并且无法从另一个类中调用包中的一个类。 这是我的目录结构:

test/
  |_ B.java
  |_ pack/
       |_ A.java
       |_ A.class

我要从B.java调用A.java。

我的A.java是一个简单文件:

package pack;
public class A{
    public void msg(){
        System.out.println("Hello");
    }
}

我在test/内使用javac -d . pack/A.java编译了A.java,并且没有任何问题。

B.java:

import pack.A;
class B{
    public static void main(String args[]){
        A obj = new A();
        obj.msg();
    }
}

我在Linux的test/目录中,当我使用javac -d . B.java进行编译时,编译器向我显示了一些错误,最重要的是:

B.java:1: error: package pack does not exist
import pack.A;
           ^

所有其他错误是此错误的结果。 我试图更改目录,但到目前为止没有任何效果,我进行了一些研究,但没有发现任何结果。 有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

如@Jasper所示,问题是CLASSPATH变量,它不是默认变量。 解决方案是在编译/执行时更改CLASSPATH或指定路径。可以使用javac -cp . -d . B.java进行编译,并使用java -cp . B执行