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



我们有一些插件的依赖/通用jar,我们目前将其放置在ContentNavigator应用程序的.lib中,并在ContentNavigator的build.xml中引用。当我们把jar放在local中,并试图在build.xml中给出local路径时,它没有成功。有人能提出建议的方法吗?

我应用了以下方法:

  1. 在导航插件中嵌入/提取依赖jar的所有内容(.class文件(。虽然好处是您有一个包含所有依赖类的漂亮捆绑包,但它可能会导致签名jar的一些问题。或者在依赖项中重复的文件上
  2. 利用";共享库";概念你基本上;附上";jar到服务器/JVM、应用程序(ear(或模块(war(的类加载器。在您的情况下,您可能会将共享库附加到navigator.ear,允许所有插件访问您注册为共享库的依赖项。一个巨大的缺点是(根据我的经验(,每次更新一个库jar时都需要重新启动websphere
  3. 第三种选择是将功能从ICN插件中移出,并让另一个EAR/EJB来完成工作(并使用jndi查找从插件中引用它(

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

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

相关内容

  • 没有找到相关文章

最新更新