解决 elasticsearch ik analyzer access denied “java.io.FilePermission”

JAVA herman 408浏览 0评论

今天在使用 elasticsearch 的中文分词时,遇到了 access denied 问题。抛出的异常大概是 java.io.FilePermission,即权限问题。整个异常信息如下:

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'blogController': Unsatisfied dependency expressed through field 'esBlogService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'esBlogServiceImpl': Unsatisfied dependency expressed through field 'esBlogRepository'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'esBlogRepository': Invocation of init method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.data.elasticsearch.repository.support.SimpleElasticsearchRepository]: Constructor threw exception; nested exception is java.lang.SecurityException: access denied ("java.io.FilePermission" "D:\Program%20Files\elasticsearch-6.2.4\plugins\analysis-ik\config\IKAnalyzer.cfg.xml" "read")

从异常提示信息上看是权限问题,就是说 IKAnalyzer.cfg.xml 这个文件,java 程序只有读取权限,而对于 IKAnalyzer.cfg.xml 文件,elasticsearch 程序代码可能还需求其他一些权限,所以不能只有读权限。

然后我对 IKAnalyzer.cfg.xml 文件设置了非只读属性后,发现马上又变成了只读属性。最终原因是因为 D:\Program Files文件夹下的都是默认的只读权限。我把 elasticsearch-6.2.4 直接放在 D 盘然后重启 elasticsearch 后,程序就不在出这个错误了。

业余草公众号

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加QQ1群:135430763(2000人群已满),QQ2群:454796847,QQ3群:187424846。QQ群进群密码:xttblog,想加微信群的朋友,可以微信搜索:xmtxtt,备注:“xttblog”,添加助理微信拉你进群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作可添加助理微信进行沟通!

本文原文出处:业余草: » 解决 elasticsearch ik analyzer access denied “java.io.FilePermission”