Balana"评估"导致NoClassDefFoundError的命令

时间:2016-10-06 15:51:02

标签: wso2 noclassdeffounderror xerces securitymanager balana

我从这里拿到了一个用于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提供一个策略配置来运行,但是我调用evaluate时会出现此错误。

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. 这是使用1.0.5 balana吗?
  2. 这是使用jar而不是源文件吗?
  3. 如果我应该使用mvn下载而不是浏览wso2 maven存储库?
  4. 我已经尝试跟踪包含对SecurityManager的引用的xercesimpl.jar,但是当我将它导入类路径时,它会破坏一些w3c xml的东西,否则它们可以正常工作。是否有使用System的SecurityManager而不是试图依赖xerces的balana版本?
  5. 我也尝试使用相同的1.0.5 jar加载K-Market示例,我得到了相同的错误,并再次使用1.0.4 jar,但如果我转到1.0,它会停止发生不同的错误。 3罐。

1 个答案:

答案 0 :(得分:0)

  1. 是的,1.0.5 balana包含jar中没有的依赖项。
  2. 可能,但不太可能,因为源文件(假设它们是相同的)仍然包含相同的依赖项。
  3. 不知道。我还没有想出100%的maven。
  4. 我是这么认为的。当回溯到balana 1.0.3 jar
  5. 时,错误停止发生