从命令行编译 java class 时找不到符号错误

Cannot find symbol error while compiling java class from the command line

我想编译一个名为 Contrat.java 的 java class,它使用 class ListContrat.java 两个 classes 的对象位于同一文件夹中,其路径为:C:\Users\hue7\workspace\Test\src\com\sky,我尝试编译(创建 .class)从名为 sky 的文件夹中执行以下命令:

javac Contrat.javajavac -cp ListContrat.java Contrat.java 都给出错误:

    Contrat.java:21: error: cannot find symbol 
        protected List<ListContrat> contrat; 
                       ^ 
  symbol:   class ListContrat 
  location: class Contrat 
Contrat.java:23: error: cannot find symbol 
        public List<ListContrat> getContrat() { 
                    ^ 
  symbol:   class ListContrat 
  location: class Contrat 
Note: Contrat.java uses unchecked or unsafe operations. 
Note: Recompile with -Xlint:unchecked for details. 
2 errors 

但是当我从 src 文件夹执行命令 javac Contrat.java 时,它工作正常。

谁能解释一下为什么?

最后我解决了错误,从 src 文件夹执行命令。