运行ProjectReactor改包工具,项目中存在未知文件"占位",导致FileTypeUtil.getType(file);执行报空指针;报错如下:

  • 文件
    ruoyi-vue-pro/yudao-module-infra/yudao-module-infra-biz/src/main/resources/mapper/占位
  • 报错
15:36:51.586 [main] INFO cn.iocoder.yudao.ProjectReactor - [main][原项目路劲改地址 (/Users/anzhen/Downloads/ruoyi-vue-pro)]
15:36:51.589 [main] INFO cn.iocoder.yudao.ProjectReactor - [main][检测新项目目录 (/Users/anzhen/Downloads/ruoyi-vue-pro-new)是否存在]
15:36:51.688 [main] INFO cn.iocoder.yudao.ProjectReactor - [main][完成新项目目录检测,新项目路径地址 (/Users/anzhen/Downloads/ruoyi-vue-pro-new)]
15:36:51.688 [main] INFO cn.iocoder.yudao.ProjectReactor - [main][开始获得需要重写的文件,预计需要 10-20 秒]
15:36:51.896 [main] INFO cn.iocoder.yudao.ProjectReactor - [main][需要重写的文件数量:3761,预计需要 15-30 秒]
15:36:51.993 [main] ERROR cn.iocoder.yudao.ProjectReactor - 文件重写异常 file:/Users/anzhen/Downloads/ruoyi-vue-pro/yudao-module-infra/yudao-module-infra-biz/src/main/resources/mapper/占位
java.lang.NullPointerException: null
	at cn.hutool.core.io.FileMagicNumber$2.match(FileMagicNumber.java:26)
	at cn.hutool.core.io.FileMagicNumber.lambda$getMagicNumber$0(FileMagicNumber.java:1136)
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:174)
	at java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958)
	at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
	at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:499)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:486)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
	at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:531)
	at cn.hutool.core.io.FileMagicNumber.getMagicNumber(FileMagicNumber.java:1137)
	at cn.hutool.core.io.FileTypeUtil.getType(FileTypeUtil.java:59)
	at cn.hutool.core.io.FileTypeUtil.getType(FileTypeUtil.java:85)
	at cn.hutool.core.io.FileTypeUtil.getType(FileTypeUtil.java:137)
	at cn.hutool.core.io.FileTypeUtil.getType(FileTypeUtil.java:197)
	at cn.hutool.core.io.FileTypeUtil.getType(FileTypeUtil.java:217)
	at cn.iocoder.yudao.ProjectReactor.lambda$main$0(ProjectReactor.java:71)
	at java.util.ArrayList.forEach(ArrayList.java:1259)
	at cn.iocoder.yudao.ProjectReactor.main(ProjectReactor.java:67)

Process finished with exit code 255
  • 修复方式
    • 删除"占位文件"
  • 建议
    • 实现占位功能可使用.gitkeep