web-dev-qa-db-ja.com

IntelliJで外部ライブラリのソースとjavadocをgradleに追加する方法は?

IntelliJとGradleでJavaプロジェクトをセットアップしました。ルートプロジェクトにbuild.gradleファイルがあり、アプリをコンパイルして実行できます。

しかし... Javaソースとjavadoc Zipファイルが付属するライブラリを使用しています。ソースコード内にあり、クラスまたはメソッドの宣言に移動する場合このライブラリから、IntelliJは.classソースの代わりに.JavaファイルはZipで提供されます。

外部ライブラリで提供されるソースとjavadoc zipを使用するようにgradleに指示するにはどうすればよいですか?

26
kruze

ライブラリがMavenリポジトリに保存されているかどうかはわかりません。そうだと思います。

私はgradleプロジェクトをIntelliJにインポートする2つの方法を知っています。最初は、IntelliJの「プロジェクトのインポート...」ウィザードで、これはうまく機能します。ただし、javadoc jarが存在する場合はインポートしません。少なくとも私はそれを管理したことはありません。

2番目の方法は、gradle 2.1のideaプラグインを使用します。プラグインがプロジェクトを生成します。このようにして、javadocを内部に入れました。 build.gradleの完全に機能する例:

apply plugin: 'Java'
apply plugin: 'idea'

sourceCompatibility = '1.7'
targetCompatibility = '1.7'

repositories {
    mavenCentral()
}

dependencies {
    compile group: 'org.Apache.commons', name: 'commons-compress', version: '1.8.1'
    compile group: 'com.google.guava', name: 'guava', version: '18.0'

    testCompile group: 'junit', name: 'junit', version: '4.11'
    testCompile group: 'org.mockito', name: 'mockito-all', version: '1.8.5'
}

idea{
    project {
        languageLevel = '1.7'
    }
    module {
        downloadJavadoc = true // defaults to false
        downloadSources = true
    }
}

IntelliJのプロジェクトを作成するgradle cleanIdea ideaを呼び出すことができます。

ライブラリがMavenリポジトリに保存されていない場合は、アップロードする場所に単純にネクサスを配置できます。これにより、上記の方法を使用できます。

10
Robert Kühne

ソースがどこにあるかを知る必要があるのはGradleではありません。 IntelliJです。

ファイル->プロジェクト構造->モジュール->複数のモジュールがある場合は正しいモジュールを選択->依存関係タブ->下部近くの+記号をクリック->ジャーまたはディレクトリを選択->ソース/ javadocsを保持するディレクトリを選択瓶。

IntelliJは、それらがjavadocおよびソースであることを確認し、適切にインデックス付けします。

enter image description here

10
Michael

任意のライブラリのIntelliJ Decompiled .classファイルに移動します。ここに添付されている画像に示すように。 Intellijが2つのオプションを提供していることに気付くでしょう

  1. ソースを選択-ディレクトリから
  2. ダウンロード-Mavenから

enter image description here

2
Asad Abdin