Closed hcanyz closed 3 years ago
checkClassName
的格式是com.sankuai.waimai.xxx
,而你添加的INIT_SERVICE_PATH
格式是com/sankuai/waimai/router/generated/xxx
,你加的这个startsWith
并不会返回true?
确认下一个问题 是不是路由表没有生成导致的?
@jzj1993 问题出现在 window 环境的 JarInput.getFile()
处理过程
ClassUtils.path2Classname(className)
只处理了 File.separator -> '.' ,而 JarInput.getFile()
拿到的 clasName 固定是 '$/$/$' 格式的。
DirectoryInput.getFile
则没问题。
@Leifzhang ServiceInit_27c543960bb6e7e43b7e7c9554e68407.class 文件确定是生成了的。 但是 com.sankuai.waimai.router.generated.ServiceLoaderInit 中没有 init 调用。
因为重新调整了下项目架构啊 这部分如果真的有问题 可能要你重新提pr了
顺便说下 plugin 可以当场调试了 你可以验证下有没有完全修复 现在
@Leifzhang 验证过已经修复
JarInput 中的 filename 格式为 com/sankuai/waimai/router/generated/service/ServiceInit_27c543960bb6e7e43b7e7c9554e68407.class,导致 WMRouterTransform 遗漏这部分类的 init 调用。