首页 > 解决方案 > Maven 多模块库构建

问题描述

我正在使用 Maven 系统开发库,该库发布在 Nexus 存储库中。在 nexus(以及 maven 构建)中,该项目产生最终jar命名<projectName>-<version>.jar- 这正是我想要的。

现在,我决定将库拆分为 maven 模块,因此顶级pom.xml<packaging>pom</packaging>. 该构建也不会产生 final <projectName>-<version>.jar,而是<moduleName>-<version>.jar为每个模块产生。

我想要实现的是将项目拆分为模块并能够生成最终<projectName>-<version>.jar包含定义的模块。这可能吗?迁移到 Gradle 是否可以解决此问题?

标签: javamavenmaven-module

解决方案


当您决定将库拆分为多个模块时,这意味着您决定独立构建它们。因此,预计每个模块都会创建自己的<moduleName>-<version>.jar.

现在,当您使用创建的模块时,具有mavendependencies范围的更大模块会自动将它们添加到项目中。compilelib

因此,在您的情况下,您无需更改打包pom,只需将模块作为依赖项添加到pom.xml文件中,然后让 maven 为您创建最终的 jar。

此外,如果您想使用pom包装,这里有一个很好的问题可能会对您有所帮助。


推荐阅读