为什么我的Java类在从包目录中编译时无法编译?

Nea*_*eal 4 java packages compilation

我创建了一个名为"middle"的目录,在其中另一个名为"tier"的目录,在"tier"目录中是OrderManager.java,它是一个接口,OrderManagerImpl.java有它的实现.

问题是当我尝试从包中间编译OrderManagerImpl.java时,它会编译但是当我在包中做同样的事情时,它会给我以下错误:

OrderManagerImpl.java:6: cannot find symbol
symbol: class OrderManager
public class OrderManagerImpl extends java.rmi.server.UnicastRemoteObject implements OrderManager{

为什么会这样?

Fab*_*der 8

因为编译器希望在适当的文件夹中找到你的类:./ middle/tier.当您尝试在包内编译时,编译器将在./middle/tier/middle/tier中搜索您的类