首页 > 解决方案 > 使用 gradle 从 jar 中排除类

问题描述

我见过这些:

Gradle - 排除文件与 jar 打包

在 gradle Android Studio 中排除一个类文件

并且想知道我应该使用什么路径或名称exclude。这是在 gradle.kts 文件中:

group = "kaldrn.core"

jar {
    exclude("kaldrn/CliKt.class")
}

这是我最好的猜测,因为它是 jar 中的文件路径。我也尝试过使用源文件,但它不起作用。我试过只使用没有路径的基本名称,没有运气。在这种情况下,声明的意义group(如果有的话)对我来说已经失去了意义(我从来都不是 kotlin 之前的 Java 大用户)。

该类在 中cli.kt定义package kaldrn

我如何确定在这里使用什么?


也许具有讽刺意味的是,上面的路径结果是正确的——请参阅我对已接受答案的评论,该评论是关于影响 gradle 和 的非常讨厌的警告,jar { exclude ...}至少对于 6.7 版。

标签: kotlingradlejar

解决方案


排除路径应包含从源路径到目标文件的完整路径(例如, from main)。

在你的情况下:

jar {
    exclude("kaldrn/cli/CliKt.class")
}

如果您不确定路径,请在下面查找您的文件build/classes/kotlin/main


推荐阅读