首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

是否必须在EAR中的WAR中重复使用常见的JAR?

在软件开发中,EAR(Enterprise Application Archive)和WAR(Web Application Archive)是两种常见的部署文件格式。EAR 文件通常用于部署企业级应用程序,而 WAR 文件则用于部署 Web 应用程序。在这两种文件中,通常会包含一些常见的 JAR(Java Archive)文件,用于提供应用程序所需的库和依赖项。

是否必须在 EAR 中的 WAR 中重复使用常见的 JAR,这取决于应用程序的具体需求和设计。如果应用程序需要使用某些库或依赖项,那么这些库或依赖项必须包含在 EAR 文件中的 WAR 文件中。这样可以确保应用程序能够正常运行,并且能够访问所需的库和依赖项。

在某些情况下,可以通过在 EAR 文件中使用共享库的方式来避免在 WAR 文件中重复使用常见的 JAR。这种方式可以减少应用程序的大小,并且可以更好地管理库和依赖项。但是,这种方式也需要考虑到应用程序的兼容性和依赖关系,以确保应用程序能够正常运行。

总之,是否必须在 EAR 中的 WAR 中重复使用常见的 JAR,取决于应用程序的具体需求和设计。如果应用程序需要使用某些库或依赖项,那么这些库或依赖项必须包含在 EAR 文件中的 WAR 文件中。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Java EE7和Maven工程入门(4)

    这是我们所有库定义地方(除了包含ear顶层模块,通常也包会含ear’lib’子文件夹)。 什么是顶层模块?它实际上是,将会打包在earjar包和wars包,而且将会被看成是一等公民。...请注意下面内容: 在这个pom上依赖元素,需要“type”属性。 一个很好问题:sample-domain(jar)模块在哪里? 好吧,这个模块在ear不会提升为顶级模块。...最后ear是对并且可以工作了,但是和所有上述配置一起,特别是根据我们喜好设置来创建skinny wars。需要注意一个细节:MANIFEST文件是jarwar特殊描述符。...应用服务器通过MANIFEST文件定位和加载classpath上“依赖”jar包。 有一个小问题存在于sample-web.warMANIFEST.MF文件。...我们sample-services.jar并没有放在ear\lib下,而是一个顶级元素。所以,怎样创建一个正确MANIFEST呢? 最后,我们需要微调一下maven-war插件。

    86110

    【JAVA调错】----JBoss发布多个项目时抛出webAppRootKey错误

    \itoo-exam-scoreanalyze-ear.ear\itoo-exam-scoreanalyze-web.war\] - Choose unique values for the 'webAppRootKey...\itoo-exam-scoreanalyze-ear.ear\itoo-exam-scoreanalyze-web.war\] - Choose unique values for the 'webAppRootKey...在网上查了查,发生原因是:当两个web项目在同一容器定义了相同webAppRootKey或者都没有定义!...webAppRootKey为web工程根目录在系统环境变量key 错误解决方案 ---- 有两种解决方案: 第一种 修改web.xml文档,指定工程自己webAppRootKey <!...Web应用根系统属性是否被暴露,使得可以获得日志文件相对于web应用根目录路径。默认值是”true”,可以设置为”false”来禁止暴露web应用根系统属性。

    1.1K20

    Java EE7和Maven工程入门(1)

    用到主要技术 基于JavaEE7应用 应用会被打成WAR包 应用由很多组件组成(wars、jars、ejbjars) 用Java7进行编译 用Maven3进行打包 我示例ear应用 作为本文示例,...里面包含2个顶级模块,一个war包和一个ejb-jar。此外还包含了数据库领域模型(JPA实体)类jar。后面的文章我会扩展这个结构,增加更多资源。...下面的一个抽象图片展示了我们ear包将包含哪些东西。将来,war模块会包含servlet或者是jsf组件。services模块会包含许多常用无状态会话Bean(或是消息驱动Bean)。...一个pom,包含、定义最终ear包,它负责给最终包做配置。 一个pom,包含、定义web应用代码,也就是我们war包。 一个pom,包含、定义ejb模块代码,用来打包我们ejb模块。...这意味着,我们必须在sample-parent下面创建相关文件夹,然后给它们每一个都添加pom.xml. ?

    61210

    应用服务器到底是个啥?| 从开发角度看应用架构2:对Java EE应用进行打包和部署!

    但是对于大多数常见情况,EAP 7会根据其对Java EE API使用情况自动决定向应用程序公开哪些模块。 四. 两种容器 我们在中间件容器,指不是时下很火lxc、Docker等。...三种最常见部署类型是: JAR文件:JAR文件可以包含Plain Old Java Object(POJO)类,JPA Entity Beans、实用程序Java类、EJB和MDB。...部署到应用程序服务器时,根据JAR文件内部组件类型,应用程序服务器会查找XML部署描述符或代码级别注释,并相应地部署每个组件。 ? WAR文件:WAR文件用于打包Web应用程序。...EAR文件:EAR文件包含多个JARWAR文件,以及META-INF文件夹XML部署描述符。 ? XML部署描述符(如果存在)会覆盖代码级别注释。 对于给定组件,避免在两个地方重复配置。...它支持部署所有三种部署格式:JARWAREAR

    3.2K20

    jar包和war包区别及理解

    jarjar是类归档文件 JAR(Java Archive,Java 归档文件)是与平台无关文件格式,它允许将许多文件组合成一个压缩文件,为 J2EE 应用程序创建jar文件是 EAR 文件...在 jar包含特殊文件,如 manifests 和部署描述符,用来指示工具如何处理特定 jar。...可以将这些jar包引入到你项目中,可以直接使用这些jar类和属性,这些jar包一般放在lib目录下。...war包是Sun提出一种web应用程序格式,与jar类似,是很多文件压缩包。war文件按照一定目录结构来组织。...通常这些所依赖类也可以打包成jar包放在WEB-INF下lib目录下。 Ear文件(扩展名为.Ear,Enterprise Application Archive)包含全部企业应用程序。

    71630

    JRE System Library、Referenced Libraries、Web App Libraries含义

    这个集合JAR拿。...如果该web工程利用eclipse生成war包,是不会导出其jar包到 WEB-INF/lib文件夹下。...Web App Libraries 主要作用是让eclipse导出war时候,会把其目录下所有jar或者项目中工程引用都导出到WEB-INF/lib文件夹下。...开发EJB工程所需库包,像我们常用zip或者rar一样,也是可以解压出来。 顺便说下: war包:是做好一个web应用后,通常是网站,打成包部署到容器。...jar包:通常是开发时要引用通用类,打成包便于存放管理。 ear包:企业级应用,通常是EJB打成ear包。 所有的包都是用jar打的,只不过目标文件扩展名不一样。

    1.3K20

    IDEA上搭建Springmvc框架(配置没问题),就是使用maven依赖jar包没有自动加载到*_war_exploredoutput Layout下WEB-INFO目录lib下

    结果:maven配置文件配置jar包从本地仓库导入到项目中,但是没有自动加载到moduleArttificas,需要手动加载,因为要部署到tomcat服务器需要先打包,而打包就是把即编译后Java...类,Web资源等整合到artificas,module有了 Artifacts 就可以部署到应用服务器中了。...即编译后Java类,Web资源等整合,用以测试、部署等工作。再白话一点,就是说某个module要如何打包,例如war exploded、warjarear等等这种打包形式。...jar: Java ARchive,通常用于聚合大量Java类文件、相关元数据和资源(文本、图片等)文件到一个文件,以便分发Java平台应用软件或库; war: Web application ARchive...也就是warjar等产出物没压缩前目录结构。建议在开发时候使用这种模式,便于修改了文件效果立刻显现出来。

    1.5K41

    从开发角度看四类企业应用架构1: 通过Maven编译并运行一个Java应用

    企业归档(EAR)文件:EAR文件扩展名为.ear,实质上是一个压缩文件,其中包含一个或多个WARJAR文件以及一些XML部署描述符。...在应用程序包含多个WAR文件或跨模块重用一些常见JAR文件情况下,它非常有用。在这种情况下,将应用程序部署和管理为单个可部署单元更容易。...Maven有一个小型核心,并有大量插件来扩展核心功能,以提供如下功能: 最终产品预定义构建生命周期称为工件,如WAREARJAR。...Configuration Files src/main/resources 该目录包含WARJAR根目录WEB-INF / classes包含配置文件。...当我们在pom.xml文件命名依赖关系时,可以给它们一个范围。 这些范围控制构建生命周期中依赖项使用位置,以及它们是否包含在构件

    1.4K20

    改变maven打包路径_Maven打包技巧「建议收藏」

    “打包“这个词听起来比较土,比较正式说法应该是”构建项目软件包“,具体说就是将项目中各种文件,比如源代码、编译生成字节码、配置文件、文档,按照规范格式生成归档,最常见的当然就是JAR包和WAR包了...实际情形,如果你不声明该元素,Maven会帮你生成一个JAR包;如果你定义该元素值为war,那你会得到一个WAR包;如果定义其值为POM(比如是一个父模块),那什么包都不会生成。...除此之外,Maven默认还支持一些其他流行打包格式,例如ejb3和ear。你不需要了解具体打包细节,你所需要做就是告诉Maven,”我是个什么类型项目“,这就是约定优于配置力量。...一个常见例子就是在打包war项目的时候排除某些web资源文件,这时就应该配置maven-war-plugin如下: org.apache.maven.plugins maven-war-plugin...项目所有的依赖都必须在Classpath

    2.5K20

    JavaMelody应用监控使用指南

    并进行实践操作   JavaMelody是一款可以监控Java应用(比如项目warear包)以及应用服务器(比如Tomcat或Jboss weblogic等等)。可以通过图表给出监控数据。   ...如果你发布应用程序不是一个相对目录,而是war包,那么就需要阅读以下下面的章节了。如果是ear(EJBs),那么就需要去阅读以下User Guide Advanced一些相关内容了。   ...拷贝这两个jar包到webapp对应warWEB-INF/lib目录下。或者使用Maven,添加javamelody-core 依赖文件pom.xml。 ?...不然的话,需要在应用warweb.xml添加如下filter 1 2 monitoring 3 <...注意:   如果在启动过程中出错,出错信息含有window server,那么检查一下你是否使用了其他版本server。

    1.3K60

    android代码混淆

    为了避免风险,你可以只是混淆部分关键代码,但是这样你混淆效果也会有所降低。 常见不能混淆androidCode Android 程序 ,下面这样代码混淆时候要注意保留。...-basedirectory {directoryname}    指定基础目录为以后相对档案名称 -injars {class_path}    指定要处理应用程序jar,war,ear和目录...-outjars {class_path}    指定处理完后要输出jar,war,ear和目录名称 -libraryjars {classpath}    指定要处理应用程序jar,war...,ear和目录所需要程序库文件 -dontskipnonpubliclibraryclasses    指定不去忽略非公共库类。...    'D:\android-sdk-windows\platforms\android-9\android.jar' 【引用jar,用于解析injars所指定jar类】 -optimizationpasses

    1.6K80

    wildfly 21应用程序部署

    Managed Domain部署 在managed domain模式下,服务是放在很多个server启动,而server是和server-group相关联。...因为部署文件一般都是以earwar结尾,展开目的就是将其进行解压缩,以便我们可以修改包里面的内容。...:explode() 因为上面的展开命令并不是递归执行,如果ear包含子部署系统war文件的话,我们可以使用path来指定展开子系统: [domain@localhost:9990 /] /deployment...=kitchensink.ear:explode(path=wildfly-kitchensink-ear-web.war) 展开部署文件之后,我们可以使用browse-content来查看文件列表:...而受管理部署会把要部署文件上传到内部仓库,然后使用这个仓库内容进行后面的部署操作。

    1.4K30

    wildfly 21应用程序部署

    Managed Domain部署 在managed domain模式下,服务是放在很多个server启动,而server是和server-group相关联。...因为部署文件一般都是以earwar结尾,展开目的就是将其进行解压缩,以便我们可以修改包里面的内容。...:explode() 因为上面的展开命令并不是递归执行,如果ear包含子部署系统war文件的话,我们可以使用path来指定展开子系统: [domain@localhost:9990 /] /deployment...=kitchensink.ear:explode(path=wildfly-kitchensink-ear-web.war) 展开部署文件之后,我们可以使用browse-content来查看文件列表...而受管理部署会把要部署文件上传到内部仓库,然后使用这个仓库内容进行后面的部署操作。

    1.4K41

    jar包和war介绍和区别

    JAR(Java Archive,Java 归档文件)是与平台无关文件格式,它允许将许多文件组合成一个压缩文件。为 J2EE 应用程序创建 JAR 文件是 EAR 文件(企业 JAR 文件)。...在 JAR 包含特殊文件,如 manifests 和部署描述符,用来指示工具如何处理特定 JAR。...利用WAR文件,可以把Servlet类文件和相关资源集中在一起进行发布。在这个过程,Web应用程序就不是按照目录层次结构来进行部署了,而是把WAR文件作为部署单元来使用。...下面我们将第2章Web应用程序打包成WAR文件,然后发布 要注意是,虽然WAR文件和JAR文件文件格式是一样,并且都是使用jar命令来创建,但就其应用来说,WAR文件和JAR文件是有根本区别的。...JAR文件目的是把类和相关资源封装到压缩归档文件,而对于WAR文件来说,一个WAR文件代表了一个Web应用程序,它可以包含 Servlet、HTML页面、Java类、图像文件,以及组成Web应用程序其他资源

    1.2K30
    领券