2016-08-20 161 views
0

我使用IntelliJ IDEA在Java中开发一个库,我也使用Gradle作为项目。 我的问题是,当我构建项目的工件时,构建的.jar文件不包括我的任何javadoc,而且接口中方法参数的名称也会丢失。如何在Gradle项目中使用IntelliJ IDEA生成一个包含javadoc的.jar文件?如何在Gradle项目中使用IntelliJ IDEA生成一个包含javadoc的.jar文件?

+0

你不知道。首先你改变你的编译选项以包含参数名称。其次,你为javadoc创建一个* difference * jar文件。如果你的代码是开源的,你还应该为源代码创建第三个jar文件。标准命名是,如果你的main(code)jar文件被称为'mylib-1.0.jar',那么另外两个文件被称为'mylib-1.0-javadoc.jar'和'mylib-1.0-sources.jar'。 [回答user6158055](http://stackoverflow.com/a/39059063/5221149)告诉你如何在Gradle中。 – Andreas

回答

0
task sourcesJar(type: Jar, dependsOn: classes) { 
    classifier = 'sources' 
    from sourceSets.main.allSource 
} 

task javadocJar(type: Jar, dependsOn: javadoc) { 
    classifier = 'javadoc' 
    from javadoc.destinationDir 
} 

artifacts { 
    archives sourcesJar 
    archives javadocJar 
} 
+3

虽然要添加到文件中的特定代码很有用,但对于它的作用或在何处添加它的某些解释将更具价值。 –

0

这是预期的行为。但是有一个默认的'javadoc'任务,它将javadoc生成到'build/docs'目录中。所以你可以这样做:

task makeJavadoc (type :Jar, dependsOn: javadoc){ 
    from docsDir 
    classifier='docs' 
    description='Creates a Javadoc Jar' 
} 

生成的javadoc必须手动连接。

相关问题