1

在来自这里的朋友的帮助下,我已经能够了解将 Jar 文件添加到 Confluence 项目中的依赖项和过程。但是我在添加这些 JAR 时遇到了错误。看到错误的确切原因是:

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. 修改 UI,以便我可以接受用户输入的值,例如 For Eg Credentials。
  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 项目中所需的票证。(我将我的代码放在粘贴箱中,以免问题变得非常长)

这是我的 POM.xml

是我写的课。事实上,我已经能够在“高级”区域中添加我的自定义选项卡,然后单击该选项卡会触发执行方法。

是我在生成的系统错误中看到的错误(标题为 Oops - 发生错误的错误。)

希望从您那里得到任何提示,这可以极大地帮助您了解摆脱此错误需要做些什么。

我确信从 Confluence 调用 Web 服务一定不是一件复杂的工作。是不是我所依赖的 JAR 的组合给我带来了麻烦。任何导致相同的结果都将非常有帮助。

4

1 回答 1

0

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

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

编辑:在这里你可以得到 jar 和 source

于 2012-07-30T21:21:42.937 回答