Java的import
2017-10-10 本文已影响0人
Luna_Lu
看RPC的时候试了一下dubbo给的demo,结果遇到了Java import的一个坑, Java是不允许import一个default package中的类的。
项目的结构如下。
api模块定义接口,provider提供服务,consumer是服务的客户端,两者基于dubbo根据api中定义的接口通信。
屏幕快照 2017-10-10 下午10.14.23.png
api模块中定义的接口如下图所示。
此时,DemoService接口在default package中。
屏幕快照 2017-10-10 下午10.16.56.png
在provider pom.xml中添加了对api模块的依赖,然而无法implements DemoService。
原因在于Java不支持对default package中的class的import,而DemoServiceImpl和DemoService的路径不一致,导致compile时在DemoServiceImpl的路径下找不到DemoService。
屏幕快照 2017-10-10 下午10.18.30.png
将DemoService接口放入到任何package中即可正常。