我向 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设置错误?
请帮助我。
我希望 IDE 显示 *.kt 文件,而不是我发布的库的 *.class 文件。
您发布的源 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