0

我创建了一个类调解器,我想在其中与两个策略相交。我已经使用 Carbon Studio for Eclipse 创建了 Class Mediator,它会自动将一些预定义的库添加到我的项目的构建路径中。

其中一个库是 neethi-2.0.4.wso2v1.jar。

如果我想使用 intersect-method 我得到一个异常。如果我查看源代码,我会发现 intersect-method 只会抛出“UnsupportedOperationException”。

所以给定的 neethi 库对于交集没有用,因此我想在我的类调解器中使用最新的 Neethi 库(又名 neethi-3.0.2.lib)作为交集。

你能告诉我如何包含第三方库,尤其是在我的用例中,这些库应该覆盖曾经在 esb 中使用过的库(neethi-2.0.4.wso2v1.jar)。

谢谢

4

1 回答 1

0

Developer Studio 将这些库添加到您的项目类路径中,以便开发人员不会在源代码中遇到构建错误。

因此,这些库仅适用于开发时间,并且仅适用于 Dev Studio。它们不是服务器运行时使用的库。

运行时库由 WSO2 Carbon Server 运行时提供。所以服务器抛出这个 UnsupportedOperationException 是由于服务器中的 neethi 版本不支持它而发生的。所以你需要在服务器运行时升级库。

但正如您所看到的,WSO2 已经分叉了 neethi 代码库,并且在分叉的源代码上有一些自定义实现。因此,IMO,仅升级版本无济于事。

无论如何,您需要实际升级库,看看您是否遇到任何问题。

要升级版本,您可以为较新的 Neethi 库创建 Java 库工件并将其包含在 CAR 文件中并部署 CAR 文件,或者<CARBON_HOME>/repository/components/lib在服务器运行时将新的 Neethi 库复制到相应位置。

<CARBON_HOME>/repository/components/plugins您可以在该位置找到当前的 Neethi 库。如果您发现一些类似于“链接错误”的错误或异常,请尝试删除旧版本的库。但这会导致其他一些异常。

所以 IMO 的底线是,您将面临版本升级的一些问题。但是是的,当然你可以试一试,看看我们是否能克服它们。试一试,并在此处发布您的观察结果。我们将尽力为您提供帮助。

于 2012-08-08T01:59:51.023 回答