0

我在 Weblogic (12.1.3.0.0) 上运行 Kieserver(6.5.0.Final) 时遇到问题。问题与 joda time 有关,看起来它的版本迷路了。我的 weblogic.xml 包含特定于使用 kiserver jodatime 版本的标记:

<prefer-application-packages>
    <package-name>org.joda.*</package-name>
</prefer-application-packages>

没关系,它确实迫使 WebLogic 使用 kieserver joda 版本。

但我的问题是不同的。我在 WB(工件存储库)中添加一个工件 - 例如 XPTO.jar - 它使用 kieserver 使用的 jodatime 版本的不同版本。(kieserver 使用 1.6.2,XPTO 使用 2.7)。我将它作为依赖项添加到我的 WB 项目中,它在 WB 中显示使用 jodatime 2.7(所有包包含),将我的项目与规则一起部署到 kieserver 容器。当我执行“fireallrules”时,它显示以下错误“NoSuchMethodError:org.joda.time.LocalDate.toDate()”。

然后我决定将 jodatime jar(1.6.2) 从 kiesever 替换为我在我的项目 (2.7) 中使用的 jodatime 版本(在 kieserver/WEB-INF/lib 中替换),然后我进行了测试并且它工作正常!!当然,替换它看起来不太合适,但我认为这可能是kieserver + Weblogic上的一个真正的问题。

问题:

1)是否可以让 kieserver 使用在 WB 中设置的任何 jar 的正确版本,而无需更改 kieserver 目录(kie/WEV-INF/lib)中的 jar 版本?(在我的情况下,它发生在jodatime,它可能会发生在其他情况/罐子中)

2)替换kiserver目录(kie/WEB-INF/lib)中的任何jar版本是否“可以”?- 这是我找到的解决方案,但我不知道这样做在政治上是否正确。

4

0 回答 0