gpt4 book ai didi

java - MutliModule 和 EAR 之间的区别

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:16:58 26 4
gpt4 key购买 nike

maven multimodule project(pom packaging)和ear packaging有什么区别。据我所知,Ear 用于打包一组相关的模块(EJB、JPA、JSF)。看完maven documentation我发现多模块项目用于同一件事。

它们是一样的吗?我可以使用多模块项目而不是 EAR 吗?多模块项目可以部署到应用服务器吗?

最佳答案

多模块项目(pom 的打包)是一种定义具有子模块的父 pom 的方法。这很方便,原因有很多。其一,您可以使用 mvn compile 构建父 pom,它也将构建它的所有模块。如果没有父 pom,您必须进入每个 pom 并手动键入 mvn compile 否则。

不仅如此,使用模块还可以为您提供其他非常重要的功能。 See the answer to this question.总而言之,假设您有一个持续集成服务器,它刚刚安装在您本地构建的中间。通过使用模块,您可以确保针对本地代码而不是持续集成服务器的代码进行编译。这将防止很多 heisenbugs(sp?)。


现在 ear 的封装与第一个多模块概念没有直接关系。该包装仅决定二进制输出。它将输出一个 ear 文件。在 maven-ear-plugin 插件中,您可以包括其他模块,如 wars/jars/ejbs,但它不会执行我在第一段中描述的任何事情。比如在ear的pom.xml文件目录下输入mvn compile,是不会编译它所依赖的war文件的。

此外,您不必在耳边包含其他 Maven 模块。另一个完全不相关的项目可能会安装一个 ejb,您可以在耳边使用该 ejb 作为依赖项。

关于java - MutliModule 和 EAR 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18599744/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com