Maven 在模块中定义附加范围

Maven defining additional scope within module

假设我有一个模块,我们称它为"data"。该模块中包含包 a、b、c、d。

有没有我可以构建 "data" 但只使用包 a 和 b 的方法?目前我正在构建 a 和 b 但随后还将整个 "data" 模块作为依赖项包括在内。这样做的问题是 c 和 d 也包含在该依赖项中。如果我删除包 c 中的一个 class,那个 class 将仍然存在于依赖项中。因此,当 b 中的某些内容尝试使用已删除的 class 时,它不会出现错误,而是会编译,因为它现在指向依赖项中的现有对象。

如果我尝试做我想做的事,也许会有帮助。像这样:

    <dependency>
        <groupId>blah</groupId>
        <artifactId>data</artifactId>
        <ignore-package>c</ignore-package>
        <ignore-package>d</ignore-package>
    </dependency>

所以我得到了数据模块,但没有得到包 "c" 或 "d"。

因此,就像 Terry 提到的那样,最好的方法似乎是拆分模块。没有更好的方法(还)。