最近在做myeclipse中hibernate反向工程的时候,生成的POJO都存放在项目的default包下了。
无论怎样设置也无法使POJO放在指定包下。而在别的包中写的测试类不能将其引用,所以感到很困惑。
还以为是版本的问题,改装用6.0版本的,测试还是这样的问题。
或许这个myeclipse的一个bug吧。
于是自己就想:如果在eclipse下建立的Java项目,而定义在默认包(default package)中的类,能不能在自定义包中的类引用它呢?如果能改怎么写呢?
-----------------------------------------------------------------------------------------------
自己在网络上找资料相关的说明很少,或许大家都遇到过这样的问题,只是没有去研究或是没时间去研究。
我的理解:
这是eclipse遗留问题,或是以前设计问题。如果打开建立的项目,可以看到有热src,在那下面就存放的是default package下的类。打开类可以看到第一句并没有package语句,也就是说它并不属于任何一个包。
如果大家不用eclipse而采用文本编辑器去编写Java源文件,一个类要引用不在一个文件夹下而又没有使用package语句的另一个类是不能实现的。
在看看,eclipse建立的项目,不就是这样的吗?
结论:我认为这是eclipse设计时的问题。
ps:欢迎大家讨论。谢谢