2012-07-13 69 views
1

我已经能够理解在此处的朋友的帮助下,将Jar文件添加到Confluence项目中的依赖性和过程。 但是我在添加这些JAR时遇到了一个错误。 看到错误的确切原因是:在尝试从Confluence 3.0访问Web服务时获取SLF4JLogFactory异常

javax.servlet.ServletException: Servlet execution threw an exception 
at  org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:313) 

caused by: java.lang.ExceptionInInitializerError 
at org.apache.axis.attachments.AttachmentsImpl.<clinit>(AttachmentsImpl.java:39) 

caused by: java.lang.ClassCastException: org.apache.commons.logging.impl.SLF4JLogFactory cannot be cast to org.apache.commons.logging.LogFactory 
at org.apache.axis.components.logger.LogFactory.getLogFactory(LogFactory.java:41) 

什么,我试图做的是:

  1. 编写自定义插件。
  2. 修改用户界面,以便我可以接受用户输入的值,例如ForEledentials。
  3. 使用这些凭证并按Web服务方法并获取有效用户的凭单。

现在我只能使用Web服务,我没有权限修改它们。因此,它可以与8个必需的罐子一起工作。其中我使用的不是我创建的那些是流行的 。

commons-discovery 0.2 
commons-logging 1.1 
jaxrpc 1.0 
log4j 1.0 
wsdl4j 
1.0 axis 1.4 

如果我使用轴1.2.1而不是1.4;我得到错误。

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.axis.description.ParameterDesc.setOmittable(Z)V 

但是使用轴1.4给我在我的本地NON CONFLUENCE测试示例java项目中所需的票据。 (我把我的代码在贴箱,以免问题变得非常长)

This is my POM.xml

This是我写的类。我实际上能够在“高级”区域中添加我的自定义选项卡,并单击该选项卡将触发执行方法。

This是我看到的导致系统错误(其中带有标题哎呀 - 即有错误)错误

想有任何暗示,从你这能大大有助于了解需要采取什么要做到摆脱这个错误。 我确定从Confluence调用Web服务必须不是一件复杂的事情。它是JAR的组合吗?我依赖那些给我带来麻烦的东西。任何导致同样的情况都会很有帮助。

回答

0

Atlassian分叉轴库和Jira现在使用axis-1.3-atlassian-1而不是Apache的最新轴-1.4; axis-1.3-atlassian-1使用1.0.4版本的commons-logging,而不是1.1.1,如axis-1.4。

更改插件从axis-1.4到axis-1.3-atlassian-1的依赖关系为我解决了a similar problem。这是我怀疑SLF4JLogFactory可以转换为1.0.4中的org.apache.commons.logging.LogFactory而不是1.1.1,但我没有测试过。

编辑:这里是where you can get the jar and source

相关问题