gpt4 book ai didi

eclipse - Maven多模块项目,为什么需要 "pom packaging"?

转载 作者:太空宇宙 更新时间:2023-11-03 15:33:00 25 4
gpt4 key购买 nike

我使用 eclipse 在 maven 上开发一个需要“war packaging”(使用 maven-gae-plugin archetype )的应用引擎项目。

我如何包含其他项目(例如公共(public)库项目),以便在其中一个子项目中完成更改时更新所有内容?

一种解决方案可能是“多模块项目”,但我不明白为什么maven 要求父项目是pom 打包。另外,我担心更改为 pom 打包可能会破坏应用程序引擎的兼容性(执行开发服务器、从 eclipse 插件部署等...)

最佳答案

多模块项目不仅是一种打包库依赖项目的方式,实际上是一场 war 或一场耳朵。它允许您共享属性、插件、行为......

无论最终结构如何,这是一种将它们链接在一起的方法。它们各自的生命周期是相关的。

所以,做你想做的更好的方法是

/
|your-parent-project
+--pom.xml --> pom
|
+--/your-webapp-project
| +--pom.xml --> war
|
+--/your-service-project
| +--pom.xml --> jar
|
+--/your-dao-project
| +--pom.xml --> jar
|
+--/your-common-resources-project
| +--pom.xml --> zip

您仍然会部署您的 war 项目,但父项目将包含有关团队、CI、依赖管理的信息。

您将发布您的父项目(使用 maven-release-plugin 它将自动标记和公会),因为它包含整个生命周期和它们之间的关系..

Reactor(maven 排序引擎)将安排构建顺序以匹配您的依赖项,例如。资源、dao、服务、webapp ...

你真的应该读一读 Sonatype 的书:http://www.sonatype.com/books/mvnref-book/ .

希望这个小解释对您有所帮助!

关于eclipse - Maven多模块项目,为什么需要 "pom packaging"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11190228/

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