在对该项目进行编译或运行单元测试时,我需要使用一个依赖项,但是我不想将其包含在我的最终工件(一个jar文件)中,因为在使用时我会在类路径中指定此依赖项“ java xx.jar”命令来运行它。以下是我在build.gradle中的当前配置。
配置{ 提供的运行时 runtime.exclude模块:“ dependencyA” }
依赖项{ 编译('groupA:dependencyA:versionX') }
以上设置可以确保在编译项目时使用dependencyA函数,也可以从最终的jar文件中排除dependencyA。但是,在运行单元测试时,由于已将其排除在外,因此无法找到dependencyA。 如何在运行单元测试的过程中包括dependencyA,同时如何从最终的jar文件中排除dependencyA?
答案 0 :(得分:1)
更简单的解决方案是执行以下操作:
dependencies {
// Makes the dependency appear _only_ on compileClasspath
compileOnly('groupA:dependencyA:versionX')
// Makes the dependency appear _only_ on testRuntimeClasspath
testRuntimeOnly('groupA:dependencyA:versionX')
}
有关java
插件可用的不同配置的说明,请参见the documentation