栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何重组Maven多模块项目?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何重组Maven多模块项目?

我真正建议的第一件事是重新构造项目文件夹…这意味着让项目文件夹代表结构,这意味着 不要 展平结构。

  +-- parent-pom (pom.xml)       +--- module1 (pom.xml)       +--- module2 (pom.xml)       +--- module3 (pom.xml)

结果,您的父级的模块部分将被简化为:

<modules>  <module>module1</module>  <module>module2</module>  <module>module3</module></modules>

此外,可以简化模块中的父条目,如下所示:

<parent>  <groupId>com.cws.cs.lendingsimulationservice</groupId>  <artifactId>parent-pom</artifactId>  <version>1.0.6</version></parent>

…将我带到下一点:

如果您当前的所有项目都按上述方式定义了其父级,则这是完全错误的,cause将尝试在存储库中而不是上级文件夹中找到父级。换句话说,这会导致您在发布等方面出现很多问题。

如果我们要解决此问题,它必须看起来像这样,我不建议这样做:

<parent>  <groupId>com.cws.cs.lendingsimulationservice</groupId>  <artifactId>parent-pom</artifactId>  <version>1.0.6</version>  <relativePath>../parent-pom/pom.xml</relativePath></parent>

我观察到的另一件事是您不使用

SNAPTSHOT
,在发布阶段,该插件将由发布插件取代。与此相关的是,它将自动更改相应父级中的所有版本。

在理想情况下,您的模块应如下所示:

<parent>  <groupId>com.cws.cs.lendingsimulationservice</groupId>  <artifactId>parent-pom</artifactId>  <version>1.0.6</version></parent><artifactId>module-1</artifactId><!-- No Version or groupId -->

因为所有模块都

groupId
将从其父级继承该版本。有时更改模块很有用或需要,
groupId
但这是一个例外。

我重读的是关于父级的单独版本控制。这根本没有意义,因为它是其模块的父级,因此将其放入相同的结构,当然也放入相同的VCS。

如果要制作一些配置/插件版本,则应将依赖性用于其他项目,而不是创建一个单独的公司

pom.xml
,该公司是一个单独的项目,并将单独发布等。

完成结构更改后,您可以简单地进入parent-pom目录并从该文件夹执行操作

mvn clean package
mvn release:preparerelease:perform
从该文件夹进行操作,一切将变得更加简单。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/508792.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号