2016-08-20 192 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必須手動連接。

相關問題