在应用程序中导入库时如何导入javadoc jar

问题描述

我有一个使用Java,Spring和Gradle 6.6实现的库(名为-'MyLibrary') 在库代码中,我添加了一些Javadocs。运行./gradlew javadoc时,我可以看到正在创建build / lib文件夹,并按预期添加了适当注释的index.html。

以下是我在图书馆的 build.gradle

中进行的其他相关更改
java {
    withSourcesJar()
    withJavadocJar()
}

publishing {
    publications {
        mavenJava(MavenPublication) {
            from components.java
            artifactId archivesBaseName
            versionMapping {
                usage('java-api') {
                    fromresolutionOf('runtimeClasspath')
                }
                usage('java-runtime') {
                    fromresolutionResult()
                }
            }
        }
    }

    repositories {
        maven {
            name 'artifactory'
            url 'https://artifactory.abc.com/artifactory/libs-release'

            credentials {
                username = ARTIFACTORY_USERNAME
                password = ARTIFACTORY_PASSWORD
            }
        }
    }
}

工厂中,我可以看到正在发布的库:

MyLibrary-lib-1.0.0-javadoc.jar             431.01 KB
MyLibrary-lib-1.0.0-javadoc.jar.sha512      128 bytes
MyLibrary-lib-1.0.0-sources.jar             7.09 KB
MyLibrary-lib-1.0.0-sources.jar.sha512      128 bytes
MyLibrary-lib-1.0.0.jar                     14.00 KB
MyLibrary-lib-1.0.0.jar.sha512              128 bytes
MyLibrary-lib-1.0.0.module                  4.18 KB
MyLibrary-lib-1.0.0.module.sha512           128 bytes
MyLibrary-lib-1.0.0.pom                     1.72 KB
MyLibrary-lib-1.0.0.pom.sha512              128 bytes

现在,在另一个应用程序(用Java编写,gradle 4.10.2)中,我导入了我的库MyLibrary。

应用程序的build.gradle

dependencies {
  implementation('com.abc:MyLibrary-lib:1.0.0')
}

jar {
    enabled = true
}

bootJar {
    archiveClassifier.set('app')
}

现在,在应用程序的外部库中,我只能看到MyLibrary-lib-1.0.0-sources.jar被导入,而不是 MyLibrary-lib-1.0.0-javadoc.jar 因此,当我将鼠标悬停在应用程序中LLibrary的类/方法上时,无法在应用程序中看到Javadoc。

注意-我正在使用IntelliJ和Mac。

有人可以指导我我在这里想念什么吗?

解决方法

您还可以使用带有gradle的MyLibrary-lib为应用程序生成IntelliJ配置。 https://docs.gradle.org/current/userguide/idea_plugin.html的IDEA插件页面描述了如何执行此操作,并指出了Javadoc文件也将被导入(“考虑”)。