【问题标题】:Shared libraries between wars战争之间的共享库
【发布时间】:2012-01-16 13:09:02
【问题描述】:

我使用服务器 glassfish 和 maven,部署了许多战争,每个战争都有自己的库。他们中的许多人使用相同的库,我想将这些库从战争中提取出来。我尝试将它们放在服务器的文件夹 /lib 中,并将提供的范围放在战争的依赖关系上,但这不能正常工作,因为服务器要求更多的库,而我对其他战争有疑问。我也尝试使用范围系统但不起作用。

我在互联网上搜索解决方案,但只找到瘦战争。

¿有办法吗?

如果我要使用公共库创建一个耳朵,我可以从战争中引用它们(或将战争打包到另一个耳朵中)吗?

非常感谢。

【问题讨论】:

  • 你为什么要这样做?您正在牺牲 Web 应用程序的独立性以在服务器磁盘上获得几兆字节,而服务器磁盘必须有 GB 的可用空间。一旦您需要在其中一个 web 应用程序中更改这些共享库的版本,您就会遇到问题。 JEE 被设计成这样是有充分理由的。
  • 我有不会改变的公共库,我在服务器上有空间问题。
  • 我有 25 场战争,很多人都在努力修改它们,而且每次改变一场战争,所有战争都是不可能的。

标签: java libraries shared


【解决方案1】:

是的,如果您创建了一个 EAR,但其中有 WAR 库,它们可以引用 EAR 的 lib 文件夹中的任何库。

【讨论】:

  • 感谢您的快速解答。我有 25 场战争,很多人都在努力修改它们,而且每次发生变化时,所有战争都是不可能的。
【解决方案2】:

为什么不将.war 文件打包成.ear 并将共享库添加到EAR 项目的lib 中?

【讨论】:

  • 感谢您的快速解答。我有 25 场战争,很多人都在努力修改它们,而且每次发生变化时,所有战争都是不可能的。
  • 哦,那么我想唯一的方法就是将它们包含在服务器的自定义 lib 文件夹中。我对 glassfish 不熟悉,因此对您没有多大帮助!这可能会帮助stackoverflow.com/q/2507099/154325
  • 我试过了,但是每个公共库都需要另一个库,我把它们放在服务器的 /lib 中,最后我的服务器中的库太多了。
猜你喜欢
  • 1970-01-01
  • 2012-03-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-18
  • 2011-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多