当前位置: 首页 > 面试题库 >

如何使Maven在战争中将所有罐子放在同一个EAR到EAR根内部?

周浩淼
2023-03-14
问题内容

我们有无数战争的解决方案。从全部使用冬眠和春季的意义上讲,战争是相似的。这意味着每次战争中都有许多相同的罐子。这成为一个问题,因为耳朵的大小开始不成比例地增长。

我想使用Maven来计算依赖关系,并将多次战争通用的所有jar放到EAR的根部。

我尝试使用j2ee原型(maven-archetype-j2ee-simple)来组织项目,但所有战争仍然与WEB-INF / lib中的依赖项打包在一起。有没有办法使Maven计算常见的依赖关系并将它们放置到EAR,就像他在构造战争或罐子时能够计算所有过渡依赖关系一样?


问题答案:

创建一个名为commons-jars的新工件,并将其打包为pom。它应取决于您使用的所有常见jar-Spring,Hibernate,Log4j等。

然后,在每次战争中,将其添加为具有“已提供”范围的依赖项(并且不要忘记将类型设置为pom)。您将可以在类路径中看到它,但不会将它们打包到战争中。这样,您还可以将特定于战争的依赖项打包到其中,而瘦身战争所提供的解决方案则无法提供。



 类似资料:
  • 我正在尝试使用Gradle构建一个ear。 我的项目树如下所示: 我注意到war插件的捆绑样例也有同样的问题...提前致谢

  • 我在同一个weblogic服务器上部署了两个项目: 带有EJB(@本地,@无状态)的耳朵存档 一个战争档案 我想从war档案中的一个类访问EJB。这通常是可能的吗?怎样

  • 基本上,我有一种情况,我必须在一个耳朵内访问JAR中声明的EJB,而不是在另一个耳朵中访问WAR。两个EAR都部署到同一个WebLogic托管服务器(同一个域)。Java代码中没有用于该EJB的注释。在ejbjar中。xml它被定义为会话无状态容器bean。在WebLogicEJBJAR中。xml指定了本地jndi名称。我尝试使用InitialContext查找这个bean,并从该接口获取Loca

  • 主要项目脚本: childProject脚本:

  • 我正在使用Glassfish 4。我有一个耳朵,它有一个战争和一个罐子(与EJB)。 我想从WAR中调用EJB,但不确定是否需要使用本地或远程接口。 在我的罐子里,我的豆子是这样的: 在我的WAR中,我有一个web服务,它看起来如下所示: 这两个都包装成一个耳朵。 当我调用WebService方法时,我得到一个AccessLocalException: 首先: 这是调用EJB的正确方法吗。EAR中

  • 问题内容: 在Java EE项目中,我将所有库从移到。 打开一个JSP,现在出现此错误: Struts已检测到未处理的异常: 消息: 找不到文件“ / struts-tags” 文件:org / apache / jasper / compiler / DefaultErrorHandler.java 行号:51 如何解决这个问题? 问题答案: 将库从WAR移到EAR可能非常有用,例如,如果一个E