我将JBPM5.2包含在我现有的项目中。我注意到一些jar文件是重复的。 下面是清单
my jbpm activation-1.1.jar 1.1 1.1 antlr-2.7.7.jar 2.7.7 2.7.7 Common-collections 2.1 3.1 common-io 1.1 1.4 dom4j-1.6.1.jar 1.6.1 1.6.1 Jdom-1.0.jar 1.0 1.0 Jta.jar 1.0 1.1 Log4j 1.2.15 1.2.14 Mail.jar 1.4 1.4
我并不热衷于升级这些jar,因为这意味着我必须对我现有的功能进行彻底的回归测试。基本上我正在寻找一种安全简便的方法。
我认为这是许多人遇到的一个非常普遍的问题。有人可以与我分享他/她的方法来解决这个问题。
答案 0 :(得分:0)
我能想到的几个选项
如果您的部署单位是EAR(我不确定这是否适用于您的应用思路)。由于WAR可以拥有自己的类加载器,因此您可以将jar本地化为webapp。阅读这篇文章Java EE class loading standard
另一种可能性是将JBPM单独部署为单独的应用程序。
升级罐子(我的偏好):从我所看到的公共 - *是唯一仅在 MINOR 版本中推迟的罐子。所以你不必担心任何事情。您可能需要进行烟雾测试或简单的功能测试。
答案 1 :(得分:0)
那么,你的应用对jbpm有什么样的依赖? jbpm和你的jar会在同一个类加载器下的同一个JVM中吗?如果是这样,你就有问题了。升级是唯一正确的解决方案。
通常,在类似Web应用程序的东西中,例如Tomcat或Jetty,服务器所需的库位于服务器的类路径上。部署的每个Web应用程序都有自己的类加载器。您依赖的库在此类加载器上可用,它不会污染容器本身。