如何在 WebSphere 中解决 jar 包冲突

如题所述

  具体分析引起jar包冲突的情况,主要有三种:
多个应用程序间jar包冲突:多个应用程序间由于使用了共享jar包的不同版本而造成jar包版本冲突。
  应用程序中多个Web模块间jar包冲突:同一个应用程序内部,不同的Web模块间同时使用一个jar包的不同版本而造成jar包版本冲突。
  应用程序中同一个Web模块内jar包冲突:同一个应用程序内部,同一个Web模块内,由于需要同时使用同一个jar包的两个版本而造成的jar包冲突
  本部分根据这三种jar包冲突的情况,讨论三种解决jar包冲突的办法,并具体讨论三种解决办法的实现步骤和适用情况:

共享库方式解决jar包冲突:主要解决应用程序间的jar包冲突问题
  打包到Web模块中解决jar包冲突:主要解决应用程序中多个Web模块间jar包冲突问题
  命令行运行方式解决jar包冲突:主要解决应用程序中同一个Web模块内jar包冲突问题
  共享库方式解决jar包冲突

  在WAS v5中,提供了一种很好的机制,使得jar包只存在于需要这个jar包的应用程序的类加载器的路径上,而其它的应用程序不受它的任何影响,这就是共享库(Shared library)。共享库可以用在应用服务器级别和应用程序级别,使用应用程序级别的共享库,其好处就是在不同的应用程序之间使用共享jar包的不同版本。可以为一些通用jar包的每个不同版本定义成不同的共享库,应用程序希望使用哪个版本,就把这个版本的共享库放到应用程序的类加载器的类路径上,这种方式有效的解决了应用程序之间jar包冲突的问题。
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答