Gradle 与测试分类器的依赖关系
Gradle dependency with test classifier
我一直在尝试引用 artefact,但运气不佳。
使用 maven 我没有问题:
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.13</artifactId>
<version>3.0.0</version>
<classifier>test</classifier>
</dependency>
Maven 选择了正确的工件。
然而,对于 gradle,它似乎总是包含没有分类器的人工制品,无论我尝试什么:
implementation 'org.apache.kafka:kafka_2.13:3.0.0:test'
我已经阅读了 gradle 文档,它建议使用这种语法,也许它与这个特定的人工制品有关?
更新
我的目标是使用 spring-kafka-test
。我们的内部工件存储库未设置为使用 pom
分辨率,这就是我需要手动添加传递的原因。
我已经排除了它可能是我们内部存储库的事实,仅使用 maven central;我得到了相同的结果。
我设法包含 仅 提到的罐子,其中:
dependencies {
implementation ('org.apache.kafka:kafka_2.13:3.0.0:test') {
exclude group: 'org.apache.kafka' // or finer grained, if we like
}
...
}
另请参阅:How to specify a classifier in a gradle dependency's dependency?
但是
你对maven的假设也是错误的:
Maven 全部拉取! (在 module-test-parents
中没有定义依赖项。)
要在 Maven 中实现相同(甚至更多),我们还必须:
<dependencies>
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.13</artifactId>
<version>3.0.0</version>
<classifier>test</classifier>
<exclusions>
<exclusion> <!--sledge hammer -->
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
<!-- or selectively ... -->
</exclusions>
</dependency>
</dependencies>
在 gradle 中,根据(已测试):
implementation ('org.apache.kafka:kafka_2.13:3.0.0:test'){
exclude group: '*'
}
我一直在尝试引用 artefact,但运气不佳。
使用 maven 我没有问题:
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.13</artifactId>
<version>3.0.0</version>
<classifier>test</classifier>
</dependency>
Maven 选择了正确的工件。
然而,对于 gradle,它似乎总是包含没有分类器的人工制品,无论我尝试什么:
implementation 'org.apache.kafka:kafka_2.13:3.0.0:test'
我已经阅读了 gradle 文档,它建议使用这种语法,也许它与这个特定的人工制品有关?
更新
我的目标是使用 spring-kafka-test
。我们的内部工件存储库未设置为使用 pom
分辨率,这就是我需要手动添加传递的原因。
我已经排除了它可能是我们内部存储库的事实,仅使用 maven central;我得到了相同的结果。
我设法包含 仅 提到的罐子,其中:
dependencies {
implementation ('org.apache.kafka:kafka_2.13:3.0.0:test') {
exclude group: 'org.apache.kafka' // or finer grained, if we like
}
...
}
另请参阅:How to specify a classifier in a gradle dependency's dependency?
但是
你对maven的假设也是错误的:
Maven 全部拉取! (在 module-test-parents
中没有定义依赖项。)
要在 Maven 中实现相同(甚至更多),我们还必须:
<dependencies>
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.13</artifactId>
<version>3.0.0</version>
<classifier>test</classifier>
<exclusions>
<exclusion> <!--sledge hammer -->
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
<!-- or selectively ... -->
</exclusions>
</dependency>
</dependencies>
在 gradle 中,根据(已测试):
implementation ('org.apache.kafka:kafka_2.13:3.0.0:test'){
exclude group: '*'
}