2017-07-04 8 views
0

等級:公開リポジトリのjarファイルからいくつかのJavaクラスを除外する方法は?Gradle dependencies:リポジトリのjarからjavaクラスを削除するには?

たとえば、リポジトリ内のfoo.jarをがbar1.jarに依存し、bar2.jar

foo.jar 
    bar1.jar 
    bar2.jar 

削除 "のjavax/**" foo.jarをから、RUNTIMEONLY構成

dependencies { 
    runtimeOnly foo-changed.jar, bar1.jar, bar2.jar 
} 
にそれを追加

単一のファイル(foo.jarを)を取得する方法

configurations { 
    changeFoo 
} 

dependencies { 
    changeFoo "group:foo:1.0" // contains foo.jar, bar1.jar, bar2.jar 
} 

task changeFoo(type: Jar) { 
    def jarFile = configurations.changeFoo.singleFile // error: more than one file 

    from zipTree(jarFile) { 
     exclude 'javax/**' 
    } 

    destinationDir project.libsDir 
    archiveName "foo-changed.jar" 
} 

をしようとしましたか? configurations.changeFooのfoo.jarをfoo-changed.jarに置き換えるにはどうすればいいですか?

dependencies { 
    runtimeOnly.extendsFrom changeFoo 
} 
+0

最小限ではなく、完全で検証可能な例これらの規則に従うことを検討してください。あなたは上記の3つの質問をして、あなたが達成しようとしていることを確信していません – LazerBanana

+0

実際に私は質問をする前にいくつか検索しました。私は約2週間Gradleに全く新しいです。 – eastwater

答えて

0

このようなものを試してください。私は、あなたにも、いくつかの研究を行うことを検討なかったご質問には明確ではないとしているあなたはGradleの程度、ここで質問の負荷を求めている、それらのほとんどはすでにスタックに答えている参照、またはGoogleで見つけることは容易

configurations.changeFoo.asFileTree.each { 
    from(zipTree(it)) 
    exclude '' 
} 
destinationDir project.libsDir 
archiveName "foo-changed.jar" 
+0

いくつかのJavaクラスを除外します。推移的な依存関係はありません。 – eastwater

関連する問題