2017-03-02 118 views
3

環境如何使用gradle複製classes文件夾中的資源文件?

我正在使用需要字節碼檢測的第三方庫。執行字節碼檢測的工具需要一些描述文件,這些文件必須與編譯的.class文件一樣處於相同的文件夾結構中。這些文件只在編譯時需要。

問題

我想gradle這個地方會暫時在同一個文件夾中的所有文件(資源和類),然後創建該文件夾一個罐子。但是在組裝jar之前,似乎gradle有兩個不同的資源和類文件位置。 就像之前提到的那樣,代碼工具的第三方工具需要描述文件與類文件具有相同的文件夾結構。

問題

簡單:我怎樣才能解決這個問題?

理念

  1. 地點的說明文件與src/main/java。不是很「乾淨」,但可能是一個解決方案。遺憾的是,gradle忽略了這些文件。我試圖以某種方式包括它們,但沒有得到它的工作。
  2. 暫時將描述文件複製到正確的位置。也並不是一個很「乾淨」的方式

回答

5

您可以通過重定向資源輸出目錄:

sourceSets { 
    main { 
    output.resourcesDir = "build/classes/main" 
    } 
    test { 
    output.resourcesDir = "build/classes/test" 
    } 
} 

然後用類文件(build/classes/main)的文件夾也將包含你的資源。

+0

非常感謝!我目前將它們重定向到了「bin」(我正在使用Eclipse)。這是否對進一步的構建過程有任何負面影響?因爲這些文件不能再分開 – Jan

+0

如果你將所有資源重定向到bin,那麼它們不會在最終的jar文件中結束 - 這取決於你是否有其他資源要保留。 –

相關問題