我从这里得到了一个 balana 1.0.5 的罐子:
http
://maven.wso2.org/nexus/content/groups/wso2-public/org/wso2/balana/org.wso2.balana/1.0.5/
我有一个没有配置的 pdp 实例,我试图向它传递一个示例 xacml 请求字符串,以查看是否可以获得输出,然后我可以为 PDP 提供一个运行的策略配置,但是当我收到此错误时调用评估。
Caused by: java.lang.NoClassDefFoundError: org/apache/xerces/util/SecurityManager
at org.wso2.balana.utils.Utils.getSecuredDocumentBuilderFactory(Utils.java:107)
at org.wso2.balana.Balana.<init>(Balana.java:215)
at org.wso2.balana.Balana.getInstance(Balana.java:228)
at org.wso2.balana.ctx.RequestCtxFactory.getXacmlRequest(RequestCtxFactory.java:173)
at org.wso2.balana.ctx.RequestCtxFactory.getRequestCtx(RequestCtxFactory.java:87)
at org.wso2.balana.PDP.evaluate(PDP.java:119)
我想知道我是否使用了错误的来源,或者我是否使用了正确的来源。
- 这是使用 1.0.5 balana 造成的吗?
- 这是使用jar而不是源文件吗?
- 如果我应该使用 mvn 下载而不是浏览 wso2 maven 存储库?
- 我尝试追踪包含对 SecurityManager 的引用的 xercesimpl.jar,但是当我将其导入类路径时,它会破坏一些 w3c xml 内容,否则这些内容可以正常工作。是否有使用 System 的 SecurityManager 而不是尝试依赖 xerces 的 balana 版本?
我还尝试使用相同的 1.0.5 jar 加载 K-Market 样本,我得到相同的错误,并且再次使用 1.0.4 jar,但如果我转到 1.0.3 jar,它会停止发生不同的错误。