gpt4 book ai didi

java - 多模块 Maven 项目 - 依赖项中的排除项

转载 作者:行者123 更新时间:2023-12-01 23:15:38 25 4
gpt4 key购买 nike

我希望我的 ModuleTypeA war 将 ModuleBase 作为“src/main/java/typeA”包排除的依赖项包含在内,类似地,ModuleTypeB war 将 ModuleBase 作为“src/main/java/typeB”包排除的依赖项包含在内。

这是我的项目结构:

ModuleBase
|
|----> src/main/java/base
|----> src/main/java/typeA
|----> src/main/java/typeB
|----> pom.xml

ModuleTypeA
|
|----> src/main/java/..
|----> pom.xml

ModuleTypeB
|
|----> src/main/java/..
|----> pom.xml

我是 Maven 新手,不知道如何实现这一点。 ModuleBase 不能是父项目,因为我需要为其构建一个 jar(不能具有打包类型 pom),以便我可以创建一个顶级父项目。

欢迎任何建议。

谢谢

最佳答案

通常它应该看起来像这样:

proj
+ proj-base
+ src/main/java/ // containing base code
+ pom.xml
+ proj-mod-type-a
+ src/main/java/ // containing module a code
+ pom.xml // dependency to proj-base
+ proj-mod-type-b
+ src/main/java/ // containing module b code
+ pom.xml // dependency to proj-base
+ proj-a-web
+ src/main/java // war A source
+ pom.xml // dependency to proj-base and proj-mod-type-b
+ proj-b-web
+ src/main/java // war B source
+ pom.xml // dependency to proj-base and proj-mod-type-a

简而言之,将您的项目拆分为有意义的模块,每个模块都是一个依赖单元。根据您需要的依赖关系构建您的 WAR 基础。

如果 proj-base 实际上是一个 WAR,并且您希望在其他 WAR 中重用其内容,那么您可能会更接近 Maven 中 WAR 覆盖的行为。但是,我相信基本思想仍然是相同的:更好地模块化您的项目并在构建 WAR/EAR 时具有适当的依赖关系

关于java - 多模块 Maven 项目 - 依赖项中的排除项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21268897/

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