2017-01-18 41 views
0

私はsrc/main/resources ...の下に "production"ログバック設定ファイルlogback.xmlを持っていますが、そのディレクトリには "テスト"ログバック設定ファイルlogback-test.xml(最初にログバックする)が入っています。Gradle - リソースを実行可能なjarから除外するにはどうすればいいですか?

実行可能なjarファイルを作成する際、 "testing" xmlファイルを削除します。

私はこの

jar { 
    manifest { 
     // PS this is the correct line for Shadow Plugin... 
     attributes 'Class-Path': '/libs/a.jar' 
     attributes 'Main-Class': 'core.MyMainClass' 
    } 
    exclude("**/resources/*test*") 
} 

を試してみましたが、私は私が間違って何をやっている...この

jar { 
    manifest { 
     attributes 'Class-Path': '/libs/a.jar' 
     attributes 'Main-Class': 'core.MyMainClass' 
    } 
    doLast { 
     exclude("**/resources/*test*") 
    } 
} 

を試してみましたか?

後で

私はおそらく...のsrc /メイン/リソース/の下にこれらのXMLSを置くことで自分自身の生活を困難にされたので、私は、SRCの下に新しいディレクトリを作成し、/ logback hereを見つけます代わりにそのファイルをそこに配置してください。私はこれを行うことにより、(logbackが、それはこれらのファイルを検索する場所それはだと言うと)クラスパスにこれを追加しました:

興味深いことに
test { 
    classpath += files('src/logback') 
} 

だけでなく、テスト中にログインすると、OKが起こる、これは結果の実行可能ファイルを取得するのに十分であることを意味実行時にlogback OKを使用するjar。

残念ながら、この

shadowJar { 
    baseName = 'DocumentIndexer' 
    classifier = null 
    version = project.version 
    exclude("logback/*test*") 
} 

のように "shadowJar" taskを設定するか、次のように "瓶" taskの設定:

jar { 
    manifest { 
     attributes 'Class-Path': '/libs/a.jar' 
     attributes 'Main-Class': 'core.ConsoleIOHandler' 
    } 
    exclude("logback/*test*") 
} 

を...うまく動作することを拒否:ファイルlogback-テストを.xmlはまだ瓶の中にあります。

答えて

0

gradle.orgのフォーラムからthe answerを取得しました。

"テスト"ログバック設定ファイルはsrc/test/resourcesの下に置かれ、 "production"設定ファイルはsrc/main/resourcesの下に置かれなければなりません。この方法では、前者は瓶から除外されます。

「リソース」は、相対パスが指定されているルートの1つです。

関連する問題