Java 我们可以在同一个应用程序中运行两个不同的jar版本的hibernate吗

Java 我们可以在同一个应用程序中运行两个不同的jar版本的hibernate吗,java,hibernate,jbpm,Java,Hibernate,Jbpm,我们可以在同一个应用程序中运行两个不同的jar版本的hibernate吗 我们的应用程序使用hibernate3,我们的应用程序中也使用JBPM 5,它也使用hibernate3 但是,现在我们正在将JBPM迁移到更高版本的JBPM,JBPM 6使用更高版本的hibernate。冬眠4 所以我的问题是,我们能不能有一个应用程序有两个不同的hibernate版本(Hibernate3和Hibernate4)。旧版本用于处理现有应用程序,新版本用于JBPM。不太可能。如果它们在完全限定类名(即pac

我们可以在同一个应用程序中运行两个不同的jar版本的hibernate吗

我们的应用程序使用hibernate3,我们的应用程序中也使用JBPM 5,它也使用hibernate3

但是,现在我们正在将JBPM迁移到更高版本的JBPM,JBPM 6使用更高版本的hibernate。冬眠4


所以我的问题是,我们能不能有一个应用程序有两个不同的hibernate版本(Hibernate3和Hibernate4)。旧版本用于处理现有应用程序,新版本用于JBPM。

不太可能。如果它们在完全限定类名(即package+classname)上没有冲突,您应该不会有问题。不过我很肯定这些会引起问题。如果您使用maven进行依赖项管理,如果它们具有相同的组和工件,maven将只选择一个。只有使用类似OSGI的东西,每个组件使用不同版本的不同类加载器。。。。或者你可以自己实例化类加载器,但复杂程度不同。只需在现有应用程序中使用Hibernate 4。Hibernate 3和Hibernate 4是相似的。为了只使用Hibernate 4,我将不得不将现有的prod应用程序迁移到Hibernate 4,这目前还不可行。不太可能。如果它们在完全限定类名(即package+classname)上没有冲突,您应该不会有问题。不过我很肯定这些会引起问题。如果您使用maven进行依赖项管理,如果它们具有相同的组和工件,maven将只选择一个。只有使用类似OSGI的东西,每个组件使用不同版本的不同类加载器。。。。或者你可以自己实例化类加载器,但复杂程度不同。只需在现有应用程序中使用Hibernate 4。Hibernate 3和Hibernate 4是相似的。为了只使用Hibernate 4,我必须将我现有的prod应用程序迁移到Hibernate 4,这到目前为止还不可行。