前言:公司要求开发人员在编写代码过程当中严格遵循sonarlint规范。
根据业务需要做word文档的下载,使用模板下载。将word模板放在了resources目录下载。
项目结构如下
开始想着用下面的方法获取路径
String templateFile = this.getClass().getClassLoader().getResource("word/inspection.docx").getPath();
获取路径的时候出现了sonarlint的规范提示。
在JEE上下文中,使用标准的getClassLoader()可能不会返回正确的类装入器。相反,使用currentThread。
改成如下这个样子、遵循sonarlint规范:
String templateFile = Thread.currentThread().getContextClassLoader().getResource("word/inspection.docx").getPath();
上面的两种方式都可以成功获取路径、第二种方式代码更规范。