在ContentNavigator中放置依赖jar的推荐方法

时间:2020-07-24 08:37:55

标签: ibm-content-navigator

我们有一些依赖的/通用的jar插件,我们目前将它们放置在ContentNavigator应用程序的.lib中,并在ContentNavigator的build.xml中进行引用。当我们将罐子放在本地并尝试在build.xml中提供本地路径时,它没有成功。有人可以建议这样做的建议方法吗?

1 个答案:

答案 0 :(得分:0)

我采用了以下方法:

  1. Embed/extract all the content(.class files) of the dependency-jars within the navigator plugin。虽然好处是您有一个不错的捆绑包,其中包含所有依赖项类,但这可能会导致签名的jar出现一些问题。或在依赖项之间重复的文件上。
  2. 利用"Shared Library"概念。您基本上是将jar附加到服务器/ JVM,Application(ear)或module(war)的类加载器上。在您的情况下,您可能会将共享库附加到navigator.ear,从而允许所有插件访问您注册为共享库的依赖项。根据我的经验,一个巨大的缺点是,每次更新一个库jar时,都需要重新启动Websphere。
  3. 第三个选择是将功能移出您的ICN插件,然后让另一个EAR / EJB进行工作(并使用jndi查找从插件中对其进行引用)。

我个人更喜欢选项3,因为这是将功能和依赖性捆绑在EAR中的最干净的方法。但是,当库确实很常见并且不会经常更新时,选择2将是一个很好的选择。

p.s。在您的问题中,您还提到了软件的构建方面(例如“如何正确引用依赖项”)。您可能想研究“依赖管理”的概念(使用Ant,IVY是一个不错的选择,但我建议您改用Maven或Gradle)