2016-10-06 103 views
0

我從這裏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運行一個策略配置,但在調用評估時出現此錯誤。
Balana「評估」命令造成的NoClassDefFoundError


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版本?

我也試着用相同的1.0.5 jar加載K-Market示例,我得到了同樣的錯誤,並且再次使用了1.0.4 jar,但是如果我去了,它會停止發生一個不同的錯誤1.0.3 jar。

回答

0
  1. 是的,1.0.5 balana包含一個不存在於jar中的依賴關係。
  2. 也許,但不太可能,因爲源文件(假設它們相同)仍然會包含相同的依賴關係。
  3. 不知道。我仍然沒有想到maven 100%。
  4. 我這麼認爲。當回溯到balana 1.0.3時,錯誤停止發生。罐子