为什么我的Java类在编译时从package目录编译失败?

问题描述:

我制作了一个名为“middle”的目录,里面有另一个名为“tier”的目录,在“tier”目录里面有OrderManager.java,它是一个接口,OrderManagerImpl.java有它的实现。为什么我的Java类在编译时从package目录编译失败?

问题是,当我尝试从middle.tier它编译但是当我做在包装内同样它给了我下面的错误包的外部编译OrderManagerImpl.java:

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

为什么所以?

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

+0

我认为编译器会处理包含当前目录的类路径 – Neal 2009-05-21 16:12:32