2017-05-05 16 views
0

私のルートプロジェクトにはいくつかのサブプロジェクトがあります。gradleでコピーするときにjarファイルが空になる

| - root 
\ 
    | - subproject_a 
    | - subproject_b 
    | - subproject_c 

subproject_cコピーコンパイルするための独自のlibsフォルダにsubproject_aとsubproject_bから生成されたjarファイル内のGradleファイル。

ファイルがコピーされます(つまり、jarファイルの名前がsubproject_cのlibsフォルダに表示されます)が、それらは完全に空です。

ここには、コピーを行うsubproject_cのgradleファイルの部分があります。

task copyJars(type: Copy) { 
    rootProject.subprojects.each { 
     from("${it.projectDir}/libs") { 
      include '*.jar' 
     } 
     into "{projectDir}/libs" 
    } 
} 
+0

あなたのサブプロジェクトで生成されたjarファイルは、それぞれの 'libs'フォルダに入っていると私は奇妙に思えます。どうやってそこに置くの?正しいjarファイルを確実にコピーしていますか? –

+0

@lukegv jarsは、それぞれのサブプロジェクトのgradleファイルによって作成されます。私はそれらがテストのために必要だと思うので、subproject_cのlibsフォルダではなくサブプロジェクトのlibフォルダに直接生成されますが、私は二重チェックできます。 Subproject_cのフォルダには、subproject_aとsubproject_aにある正しい名前のjarファイルが入力されますが、jarファイルは空です。 –

答えて

0

私は将来この問題を抱えている人のために対応しています。これは私のために働いてしまった。

task copyJars() { 
    rootProject.subprojects.each { 
     File fileProj = new File("{it.projectDir}", "libs"); 
     if(fileProj.exists() && fileProj.absolutePath != "${projectDir}/libs") { 
      copy { 
       from(fileProj) 
       into "${projectDir}/libs" 
       include "*.jar" 
      } 
     } 
    } 
} 
関連する問題