2015年2月4日 星期三

Gradle & Nexus

Logdown -> http://villebez.logdown.com/posts/2015/01/27/gradle
最近為了改善程式庫相依、專案建置、佈署效率與正確的版本控管,所以研究了 Gradle 自動化工具。
另外,為了做部門的 Local Repository ,方便上傳、使用自行開發的 lib,所以建置了 Nexus 。
關於Nexus的安裝啟用,官網 nexus-book 已經有很詳細的參考說明了,
step by step就可以執行一個基本的Repository Server了。
推薦qrtt1在Codedata發表一系列關於Gradle的文章,【認識 Gradle】
從ant -> Maven -> Gradle,利用範例講解的很詳細。
如果要了解專案相依管理,可以直接跳到這篇 【認識 Gradle】(7)Java 專案相依管理
這篇並不是要介紹這兩個工具,
只是個紀錄,紀錄用了Gradle遇到的問題與解決方式,所以請先對Gradle有初步的了解。
這些問題可能也是大家剛開始使用常會遇到的,希望可以幫到你/妳。
Q1: apply plugin 是什麼?? 有哪些可以使用
A1.1: 類似於import, include,也就是 reuse logic
A1.2: 請參考這裡,更進階可以自行客製Plugin
Q2: 程式中文註解,造成編譯失敗
A2: 請服用~ compileJava.options.encoding = 'UTF-8'
Q3: 在MVNrepository找不到想要的libs
A3: 幾個方法,1. 上傳到自行建置的Repository Server,2. include local jar file
Q4: 什麼是providedCompile,跟compile有什麼差別
A4: providedCompile也是編譯時,專案會用到的jar,但跟compile最大的差異在,宣告為providedCompile的jar file不會打包到war file,所以當我的專案需要用到tomcat-catalina libs時,如果將它宣告為compile,則war檔在tomcat server執行時會造成library conflict錯誤。
Q5: 如何改變webapp dir
A5: project.webAppDirName = 'WebContent'

沒有留言:

張貼留言