2014-09-28 129 views
2

我有一個搖籃項目,該項目包括3個模塊:包裝項目作爲JAR戰成項目(搖籃)

  • project-core(無依賴性)
  • project-web(取決於project-core
  • project-plugin(取決於兩個模塊)

我不想手動插件每次我做一個WAR時間增加的project-web類路徑,所以我禾它喜歡擴展WAR任務並創建一個「warWithPlugin」任務,該任務也將插件jar添加到libs文件夾中。

很明顯,我不能添加project-plugin作爲依賴,因爲我得到了循環依賴。我還有什麼其他選項可以將插件jar打包到WAR中?

回答

1

當然,你可以創建一個新的配置project-plugin作爲依賴,然後將該配置添加到您的WEB-INF/lib目錄。

configurations { 
    plugin 
} 

dependencies { 
    plugin project(':plugin') 
} 

war { 
    into('WEB-INF/lib') { 
     duplicatesStrategy 'exclude' 
     from configurations.plugin 
    } 
} 
+0

這對戰爭有用,謝謝。當我通過Gretty(https://github.com/akhikhl/gretty)運行Web項目時,是否還有一種將jar放在類路徑中的方法?也許在之前的步驟中複製插件jar? – lmazgon 2014-09-28 21:26:05

+0

你可以試試'war {classpath configurations.plugin}'。 – 2014-09-28 22:34:15

+0

@Imazgon,如果答案適合你,請接受它。 – Opal 2014-09-29 07:37:06