Java';找不到符号';从命令行编译

Java';找不到符号';从命令行编译,java,generics,cannot-find-symbol,Java,Generics,Cannot Find Symbol,我正在编写一个缓存系统,可以存储任何对象。我有两门课: public class Cache<T> { ... } public class CacheDriver<T> { private Cache<T> cache1, cache2; } 我明白了: Test.java:8: error: cannot find symbol private CacheDriver<String> c; ^ symbol: class

我正在编写一个缓存系统,可以存储任何对象。我有两门课:

public class Cache<T> { ... }

public class CacheDriver<T> { private Cache<T> cache1, cache2; }
我明白了:

Test.java:8: error: cannot find symbol
private CacheDriver<String> c;
        ^
symbol:   class CacheDriver
location: class Test
我做了一些研究,认为这可能与我的泛型T和两个不共享同一个类有关,但我不知道如何解决这个问题。我该怎么做

编辑:
我知道他们在一个包裹里。我将它们从包中直接移动到src文件夹中,结果成功了。不太清楚原因,但我会接受它。

假设所有类都在同一个包(目录)中,请尝试
javac*.java
。这可能是因为您试图在构建其他代码之前编译
Test.java
。另请参见如果文件
Test.java
CacheDriver.java
位于不同的文件夹中,则可能需要指定
-cp
以进行编译,如
java-cp folder1 Test.java
,其中
folder1
是包含
CacheDriver.class
的文件夹。
javac Test.java
Test.java:8: error: cannot find symbol
private CacheDriver<String> c;
        ^
symbol:   class CacheDriver
location: class Test
c = new CacheDriver(Integer.parseInt(args[0]), Integer.parseInt(args[1]));