Q:非洲食人族的酋长吃什么?

es插件开发,运行时报错

Elasticsearch | 作者 code4j | 发布于2018年02月28日 | 阅读数:1927

我用idea调试es源码,然后写了一个小插件放到容器里面,跑源码执行。
 
插件里面引用了quartz,可能要读他的配置文件吧,在file.exists 这块报了一个权限的错误:
 
java.security.AccessControlException: access denied ("java.io.FilePermission" "quartz.properties" "read")
 
 
但是启动job的这个模块我单独跑test的时候是没问题的,打包放到es里面就成这样了。框架里file.exists 这一段报的,网上这种异常的方案是在java.policy里面添加权限,但是加上以后依然是这样,而且不可能写个插件里面都没法操作文件了吧?求解。
 
 
已邀请:

shiyuan

赞同来自: code4j

  1. 为自定义插件加上plugin-security.policy,并添加相应权限
  2. 相关代码处check:
    SpecialPermission.check();AccessController.doPrivileged(...);

要回复问题请先登录注册