'import'范围和指定路径?

'import' scope and specify path?

我们有一个 pom 文件,它指定了我们所有的公共依赖项 (a BOM file),按如下方式导入:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.mycompany.myproduct</groupId>
            <artifactId>external-modules-bom</artifactId>
            <version>1.0.0</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

是否可以为 pom 文件指定一个系统路径,这样它就不需要出现在 maven 存储库中?似乎 systemPath 只能在使用 system 范围时使用,然后 BOM 导入不正确。还有其他方法吗?

如果您想使用内置的 import 作用域,我强烈建议您这样做。

当然,您可能会找到一些 3rd 方插件的 hacky 组合,可以有效地满足您的需求,但我相信 Maven 是关于配置的约定,您应该更喜欢标准解决方案以保持简单并且可读。

顺便说一句,在 import 作用域下,在基本语法处理之后,实际上复制并粘贴了该作用域的 pom 依赖项。这里的依赖解析是标准的。