我在Weblogic(12.1.3.0.0)上运行Kieserver(6.5.0.Final)时遇到问题。 问题与joda时间有关,看起来它的版本已经迷失了。 我的weblogic.xml包含特定于使用jodatime版本的kiserver的标记:
<prefer-application-packages>
<package-name>org.joda.*</package-name>
</prefer-application-packages>
没关系,它确实迫使WebLogic使用kieserver joda版本。
但我的问题不同了。我在WB(Artifact Repository)中添加了一个工件 - 例如XPTO.jar - 它使用了kieserver使用jodatime的版本的不同版本。 (kieserver使用1.6.2而XPTO使用2.7)。我将它作为依赖项添加到我的WB项目中,它在WB中显示使用jodatime 2.7(所有包括),将我的项目与规则部署到kieserver容器。当我执行&#34; fireallrules&#34;时,它会显示以下错误&#34; NoSuchMethodError:org.joda.time.LocalDate.toDate()&#34;。
然后我决定将kodsever中的jodatime jar(1.6.2)替换为我在项目中使用的jodatime版本(2.7)(替换为kieserver / WEB-INF / lib),然后我测试了有用!!当然,替换它并不合适,但我认为它可能是kieserver + Weblogic的真正问题。
问题:
1)是否可以让kieserver使用在WB中设置的任何jar的正确版本,而无需更改kieserver目录(kie / WEV-INF / lib)中的jar版本? (在我的情况下,它发生在jodatime,它可能会发生在其他情况下/罐子)
2)是吗&#34;好的&#34;替换kiserver目录(kie / WEB-INF / lib)中的任何jar版本? - 这是我找到的解决方案,但我不知道这样做是否符合政治原因。