4

在我的项目中,我有两个模块(A,B)依赖于 common module C。我想A,B分享一些常见的配置,例如存储库配置,插件配置等。为了实现这一点,C制作父pom并从中A,B 继承(不需要聚合,所以C不引用A,B

但是,C它本身包含一些 java 代码以及单元测试。现在,如果我在mvn test里面运行,则C不会执行任何操作。假设,pom-packaged 模块不应包含任何代码。

上述配置是否存在严重缺陷?即使已经存在,是否还应该引入另一种常见的pom ?

4

1 回答 1

3

Maven 项目中非常典型的模式是拥有一个名为“parent”的模块,它包含您常见的 Maven 特定配置、配置文件、属性、依赖版本等。这就是 Maven Way (TM)。

该结构如下所示:

|-- parent
|-- common
|-- module-a
|-- module-b

因此,common、module-a 和 module-b 都依赖于 parent,而 module-a 和 module-b 依赖于 common。

看到这个优秀的资源: http: //www.sonatype.com/books/mvnex-book/reference/multimodule-web-spring.html

请注意,就目录结构而言,“父”可以是其子模块的兄弟。不要求目录结构层次与模块的层次结构相匹配。

于 2012-09-26T16:47:41.007 回答