0

我们的一位潜在客户将运行“许可证扫描工具”,以识别我们可能正在使用的任何库,并且这些库具有“禁忌”软件许可证。

知道我们使用 Axis2 1.6.2 作为我们的 SOAP 框架,框架的一些依赖项具有不可接受的许可证,主要是具有 CDDL V1.0 软件许可证的“activation-1.1.jar”和“mail-1.4.jar”。

我的问题是,如何在仍然使用 Axis2 的同时解决这个问题?我的意思是,有没有办法用 Apache 许可证替换这两个 jar?我只是想确保没有进行任何代码更改(如果需要任何更改,考虑到我们拥有的所有项目所需的工作量,它们应该是次要的)。

谢谢。

4

1 回答 1

2

简短的回答:

您可以使用 Apache Geronimo 项目中的相应 JAR 安全地替换它们。它们可以在这里找到:

http://repo1.maven.org/maven2/org/apache/geronimo/specs/

长答案:

Axis2 在两个地方使用了 Activation 和 JavaMail:

  • 对 SwA 和 MTOM 的支持。这里主要是DataHandler使用的类和相关类。
  • 作为邮件传输中 POP3/IMAP/SMTP 协议的实现。

SwA/MTOM 支持实际上是由 Apache Axiom 项目提供的,该项目本身使用 Geronimo JAR。Axiom 具有广泛的单元测试套件,并且没有与 Geronimo JAR 的使用相关的已知问题。因此,将它们与 Axis2 一起使用也是安全的(对于 SwA/MTOM 支持)。

Axis2 覆盖 Axiom 项目的依赖项以使用 Sun/Oracle JAR 而不是 Geronimo JAR 有几个原因:

  • Geronimo JAR 的早期版本存在影响 SwA/MTOM 的错误,但情况已不再如此(见上文)。
  • 由于 POP3/IMAP/SMTP 代码比这些代码复杂得多DataHandler,因此如果使用 Axis2 邮件传输,Geronimo JAR 仍可能会导致问题。
  • 大多数第三方项目使用 Sun/Oracle JAR。Axis2 选择使用这些 JAR 以避免在将 Axis2 与其他项目组合时使用两组 JAR。
  • ASF 不考虑(实际上,不再考虑)Sun/Oracle JAR 的许可证与 ASL 不兼容。
于 2013-06-05T18:35:29.303 回答