对依赖项中可能的分类器和类型列表的后续问题。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
- 将项目部署到本地仓库
- 解析该目录以确定产生了哪些依赖项
结果,我只能访问扩展类型和分类器。