«classpath» класса B зависит не от того, как класс компилируется (например, создается файл класса), а от того, как класс загружается.
Java использует загрузчик классов для поиска также всех классов, на которые ссылается этот класс.
Каждый загрузчик классов может иметь родительский загрузчик классов, и обычно loader.loadClass
сначала запрашивает загрузчик родительского класса о любых классах, а в случае сбоя пытается загрузить сам класс.
Таким образом, просто убедитесь, что класс A
видим для загрузчика классов класса B, а это означает, что загрузчик класса A
должен быть родителем (или родителем родителя, или ...) класса погрузчик класса B
.