0

对依赖项中可能的分类器和类型列表的后续问题。Maven 参考指南中接受的答案点

type:对应于依赖工件的包装类型。这默认为 jar。虽然它通常表示依赖项文件名的扩展名,但并非总是如此。一个类型可以映射到不同的扩展和分类器。类型通常与使用的包装相对应,但也并非总是如此。一些示例是 jar、ejb-client 和 test-jar。新类型可以由将 extensions 设置为 true 的插件定义,因此这不是一个完整的列表。

在实践中,这意味着像这样的依赖

    <dependency>
        <groupId>com.group.id</groupId>
        <artifactId>my-lib</artifactId>
        <version>1.0.1</version>
        <type>test-jar</type>
    </dependency>

对应于名为 my-lib-1.0.1-tests.jar 的文件。

我的问题是我是否可以将依赖项定义为

    <dependency>
        <groupId>com.group.id</groupId>
        <artifactId>my-lib</artifactId>
        <version>1.0.1</version>
        <type>jar</type>
        <classifier>tests</classifier>
    </dependency>

因为这本质上就是它扩展的内容。

这对我来说是个问题,因为我正在尝试为项目生成一个 bom 文件。这意味着我将创建一个dependencyManagement 部分,列出其他项目可以使用的所有jar(等)。但是为了创造我的bom

  • 将项目部署到本地仓库
  • 解析该目录以确定产生了哪些依赖项

结果,我只能访问扩展类型和分类器。

4

0 回答 0