2013-11-21 15 views
6

私はgradle(v1.9)とIntelliJIdea(v12.1.6)を使用しています。私は単純なJavaプロジェクトとbuild.gradleファイルを持っています。 1つの依存関係はMaven中心にないので、私はlibフォルダにjarファイルを配置しました。 Mavenの中央にある依存関係の問題 Gradle:IntelliJIdeaのローカルファイルにソースとjavadocを添付します。

は、Gradleのはcorrecly($プロジェクト/ .idea /ライブラリにあります)のJavadocとソースとライブラリのXMLファイルを作成します。ローカル依存関係(JNativeHook)の場合、そのようなソースまたはjavadocはアタッチされません。ソースとjavadocを添付せずにソースとJavadoc添付ファイル

<component name="libraryTable"> 
    <library name="jackson-core-2.2.3"> 
    <CLASSES> 
     <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-core/2.2.3/1a0113da2cab5f4c216b4e5e7c1dbfaa67087e14/jackson-core-2.2.3.jar!/" /> 
    </CLASSES> 
    <JAVADOC> 
     <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-core/2.2.3/6021971970a43ae0c22f378cfb5813af869caab/jackson-core-2.2.3-javadoc.jar!/" /> 
    </JAVADOC> 
    <SOURCES> 
     <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-core/2.2.3/b1c4a6c3c26dfc425efd53c00217868b60d07de9/jackson-core-2.2.3-sources.jar!/" /> 
    </SOURCES> 
    </library> 
</component> 

<component name="libraryTable"> 
    <library name="JNativeHook-1.1.4"> 
    <CLASSES> 
     <root url="jar://$PROJECT_DIR$/lib/JNativeHook-1.1.4.jar!/" /> 
    </CLASSES> 
    <JAVADOC /> 
    <SOURCES /> 
    </library> 
</component> 

追加情報

ビルドファイル:比較、2つのXMLファイルとして次のようになります。

apply plugin: 'java' 
apply plugin: 'idea' 
idea { 
    module { 
     downloadJavadoc = true 
     downloadSources = true 
    } 
} 

repositories { 
    mavenCentral() 
    flatDir(dirs: 'lib') 
} 

dependencies { 
    // Will be fetched from mavenCentral() 
    compile 'com.fasterxml.jackson.core:jackson-core:2.2.3' 
    // Will be fetched from the 'lib' directory (see second repository) 
    compile 'org.jnativehook:JNativeHook:1.1.4' 
} 

sourceCompatibility = 1.7 
version = '0.1' 
jar { 
    manifest { 
     attributes 'Implementation-Title': 'ScreenShotter', 
        'Implementation-Version': version, 
        'Main-Class': 'de.fau.screenshotter.ScreenShotter' 
    } 
    from { 
     configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } 
    } 
} 

マイプロジェクト構造は次のようになります。

質問(tldr;)

を、私は適切なのJavadocとソースのエントリを作成して、XMLに追加するGradleの言うことができる方法IntelliJが使用するファイルですか?

+0

同じ問題に直面していますが、intelliJではなく.classpathファイルがあります。 – icyitscold

答えて

0

バイナリリポジトリマネージャをお持ちの場合は、そこにモジュールを公開してください。問題がすぐに解決されます。それ以外の場合はidea.module.iml.whenMergedフックを使用するか、idea.module.iml.withXmlフックを使用してidea.moduleを微調整する必要があります。これは少しのコーディングを必要とし、私は解決策を用意していません。 APIの詳細については、Gradleビルド言語リファレンスのIdeaModuleを参照してください。

関連する問題