对于我发布到 Maven Central 的库,IntelliJ 显示的是 *.class 文件,而不是 *.kt

问题描述 投票:0回答:1

我向 Maven Central 发布了一个用 kotlin 编写的 library。 (使用sona类型)

我尝试在其他项目中使用它。我可以使用,但当我转到库的实现(

Ctrl+B
)时,IntelliJ IDEA 仅显示 *.class 文件。

我检查了

\*-sources.jar
已发布,并且它已成功拉入我的本地存储。
(
C:/Users/[username]/.gradle/caches/modules-2/files-2.1/io.github.jinlee0/rusult/0.1.1/bd76f82bcfedf76e2146af416ed06a1991f55ace/rusult-0.1.1-sources.jar
)

对于其他库(kotlin-stdlib-common、spring 等...),IntelliJ 在

*-sources.jar
中很好地显示 *.java 或 *.kt 文件。

这是我的 github repo 库,它包含发布脚本。

出版有问题吗?还是IDE设置错误?

请帮助我。


build.gradle.kts

发布.gradle

脚本/publish-maven.gradle

我希望 IDE 显示 *.kt 文件,而不是我发布的库的 *.class 文件。

kotlin maven intellij-idea maven-plugin sonatype
1个回答
0
投票

您发布的源 jar 不包含 Maven Central 上的任何内容(除了清单):既没有编译的类,也没有源。

在这里查看您的代码:

task sourcesJar(type: Jar) {
    archiveClassifier.set("sources")
}

您创建了一个名为

sourcesJar
的自定义任务,但它的配置几乎为零。也就是说,它没有在那个罐子里放任何东西。所以发布的空罐子是有道理的。

在那之后 IDE 几乎无能为力。

我建议您修复 javadoc 和源任务。由于您使用的是 Kotlin/JVM gradle 插件,因此您应该能够使用:

java {
    withSourcesJar()
}

无需自定义任务。

如果您想简化整个脚本,我编写了一个插件来简化发布逻辑。也许它可以帮助: https://github.com/joffrey-bion/gradle-kotlin-publish-plugin

© www.soinside.com 2019 - 2024. All rights reserved.