IntelliJとGradleでJavaプロジェクトをセットアップしました。ルートプロジェクトにbuild.gradleファイルがあり、アプリをコンパイルして実行できます。
しかし... Javaソースとjavadoc Zipファイルが付属するライブラリを使用しています。ソースコード内にあり、クラスまたはメソッドの宣言に移動する場合このライブラリから、IntelliJは.class
ソースの代わりに.Java
ファイルはZipで提供されます。
外部ライブラリで提供されるソースとjavadoc zipを使用するようにgradleに指示するにはどうすればよいですか?
ライブラリが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リポジトリに保存されていない場合は、アップロードする場所に単純にネクサスを配置できます。これにより、上記の方法を使用できます。
ソースがどこにあるかを知る必要があるのはGradleではありません。 IntelliJです。
ファイル->プロジェクト構造->モジュール->複数のモジュールがある場合は正しいモジュールを選択->依存関係タブ->下部近くの+記号をクリック->ジャーまたはディレクトリを選択->ソース/ javadocsを保持するディレクトリを選択瓶。
IntelliJは、それらがjavadocおよびソースであることを確認し、適切にインデックス付けします。