首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WAR文件外的库依赖关系

WAR文件外的库依赖关系
EN

Stack Overflow用户
提问于 2014-06-17 06:11:10
回答 3查看 2.1K关注 0票数 1

我有一个需求,我需要打包各种web服务的所有公共类,并将它们作为依赖项(以避免多个服务的重复)。EAR文件的结构如下:

META-INF/MANIFEST.MF META-INF/application.xml commons-codec-1.2.jar MyWebService1.war MyWebService2.war MyWebService1.jar MyWebService2.jar EJB\_Bean.jar

现在,我已经将依赖jar放在WAR文件的Manifest下面(不确定是否合适),

代码语言:javascript
复制
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.4
Created-By: 1.7.0_51-b13 (Oracle Corporation)
Class-Path: MyWebService1.jar

在指定的结构中,当我尝试将EAR文件部署到WEB逻辑服务器时,我得到了java.lang.NoClassDefFoundError,,但是如果我将依赖WAR移动到WAR的WEB/lib文件夹下并重新打包EAR文件,那么部署就会像预期的一样好。

我是否可以将WAR文件依赖库包含在WAR文件之外,甚至在EAR文件之外都是我的问题。如有任何帮助或建议,将不胜感激。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-06-17 07:55:15

设置EAR包库的一种简单方法是在EAR根目录下创建一个lib文件夹,并将库放入其中。

在这种情况下,你的耳朵里会有这样的东西:

代码语言:javascript
复制
META-INF/MANIFEST.MF
META-INF/application.xml
MyWebService1.war
MyWebService2.war
lib/commons-codec-1.2.jar
lib/MyWebService1.jar
lib/MyWebService2.jar
EJB_Bean.jar
票数 2
EN

Stack Overflow用户

发布于 2014-06-17 06:16:45

在tomcat中,jar文件可以放在lib目录中,这些jar文件可供部署在该服务器上的所有应用程序使用。在网络逻辑中,必须有类似的方法来实现它。web逻辑服务器加载所有jar文件的lib文件夹。

票数 0
EN

Stack Overflow用户

发布于 2014-06-17 06:16:57

我的第一个建议是使用某种类型的依赖管理,比如MavenGradle常春藤 --自己做这件事非常困难,而且容易出错。

在您的情况下,一个更简单的解决方案是将您的“公共jars”(特别是在多个应用程序之间共享的情况下)添加到the服务器的共享库中。例如,Tomcat将加载放置在tomcat/ placed /lib目录下的所有librairies。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24256803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档