從一個多專案Web工程看Eclipse如何匯入Gradle專案
##概述
上一節,我們說了Eclipse如何安裝Gradle的外掛,以達到對Gradle的支援。
這裡再次說一下為什麼我們需要熟悉Gradle構建工具,主要原因就是很多開源專案現在都在改用Gradle作為構建工具。一部分的github上的示例程式碼也在用Gradle構建,如果還是隻能用maven,那麼很多好的專案都只能用肉眼看,不能真正的除錯起來,更精細的去看執行時的狀態,對於理解程式碼的思想還是有不小障礙的。
比如說,我要看spring原始碼,結果我都不能放到我的eclipse裡面,要知道函式之間的呼叫關係都十分困難。再比如說,我要了解spring-data-redis的使用者,官網上就說了個支離破碎的大概,然後給了我一個github的專案地址,讓我自己去看,可是下載下來之後,瞎了,人家用的是gradle,我都不知道怎麼搞到我熟悉的eclipse裡面,豈不是很心碎。
好了,這一節,我們將要把gradle提供的示例web專案放到eclipse裡面,然後還能夠像我們往常tomcat除錯一樣的去除錯程式碼。
##Gradle外掛2號
由於換了新電腦,這次裝的時候用了另外一個gradle的eclipse外掛,Gradle Integration for Eclipse.
這個外掛可以直接在“Eclipse”–>“Help”–>“Eclipse Marketplace”裡面搜尋Gradle,第一個就是。buildship也在裡面可以找到。
為什麼,第一節我們介紹的是buildship而不是這個外掛,因為buildship是eclipse官方提供的,而且提供了任務列表欄,要執行那個task直接選就可以了,今天的這個傢伙選起來相對就比較麻煩了(接下來,就會看到)。
##安裝外掛
在搜尋結果中,點install按鈕,安裝就可以了,具體的安裝過程,這裡就不說了。
安裝完之後,我們的eclipse裡面就多了gradle這麼個選項。
##用git下載gradle示例專案
接下來我們要把git上的這個專案下載到本地來。如果你對eclipse git很熟悉,可以跳過這裡。
點箭頭指向的按鈕,複製資源庫連結地址。
回到eclipse,在“Window”–>“Show View”–>“Others”–>"Git"選擇裡面的“Git Respositroies”.
點選圖中箭頭指向的圖示(複製git資源庫)。在對話方塊裡面的URI一欄,貼上上邊在瀏覽器中複製的資源庫連結地址。除了使用者名稱密碼之外的內容會自動填充,使用者名稱是你在github網站上註冊的使用者名稱。
點選Next,選擇要下載到本地的分支。
點Next,選擇本地儲存的地址,和初始化分支。(我這裡是因為已經下載過,所以顯示本地目錄不為空)
點選完成,就可以看到下載過程,下載完成之後,可以在Git Repositroies欄裡看到資源庫了。Work Directroy就是專案在你本機存放的位置。
##匯入專案到eclipse
在Project Explorer裡面空白處右鍵點選,選擇Import看到裡面的Gradle Project沒有,哈哈。。。
下一步,分別選擇Browse選中本地目錄,和BuildModel建立相關的專案檔案。
如果你在Build Model過程中,一直卡在下載gradle-bin.zip的地方,那麼你可以翻回到第一節,參照第一節的方式安裝gradle到本地。
以下是build model之後的結果
選中專案後,點選finish即可。GradleWebAppSample、utils、web三個專案。
##編譯生成war檔案
這裡GradleWebAppSample是主專案,其中包含了utils和web兩個子專案。
在GradleWebAppSample專案上右鍵,選擇run as …–>gradle build…開啟gradle任務執行選擇.輸入assemble,這裡輸入a後會有自動提示。點選run即可。
看到執行順序了吧,gradle會按著依賴順序逐個打包子專案
打包後的war包在哪了呢??我們分別進入到utils和web專案的build/libs目錄下,這裡分別有一個utils.jar和一個web.war,你也可以解壓開web.war看一下,utils.jar已經在WEB-INF/lib中了。
##怎麼直接在eclipse裡面除錯
像普通的web專案一樣,我們在server欄裡面的Tomcat上右鍵,選擇Add and Remove…
怎麼了?沒有我們的專案,居然沒有我們的專案,這除錯個mao。。。
這裡首先要用一下gradle提供的eclipse-wtp外掛,我們在web專案的build.gradle檔案裡面新增上對這個外掛的引用。
繼續…在web專案上右鍵,選擇Gradle–>Refresh All.看我們的web專案多了什麼??部署描述符!!!!
然後在server欄再Add and Remove…一下,等待已久的web專案終於出現了!!!
##執行web專案
我們把web專案加入到tomcat服務後,啟動tomcat。
沒有錯誤,成功啟動。
快在瀏覽器裡面訪問一下介面試試…
DateUtils is invalid,這個類是utils專案裡面的,怎麼無效了呢,趕緊看一下我們tomcat執行起來的目錄吧。(在console欄裡面找到資訊: Command line argument: -Dcatalina.base=/Develop/Workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0)
居然lib裡面沒有utils.jar,gradle歇菜啊,為什麼沒有自動拷貝過來呢!!!
怨天尤人不是好漢,這個地方在網上我也沒有找到所謂的最佳實戰,但是我想到了lifetragedy在架構師系列裡面說到的Deployment Assembly的作用,方法也就有了。
在web專案上右鍵,選擇build path—>configure build path…–>Deployment Assembly。“cannot find entry utils”
##自己新增一個部署對映
點選Add,選擇Archives from system
Add上utils專案裡面build出來的jar包地址
添好之後點選ok。
啟動tomcat,在瀏覽器裡面在訪問試一下,惡,ClassNotFoundException,是utils依賴的包沒有自動帶過來,我們如法炮製,把joda-time-2.4.jar加過來,或者放到gradle.build的依賴中均可。
再次執行tomcat,在瀏覽器中訪問。看到下面的文字,代表我們成功了。
以後,我們至少可以在eclipse裡面直接跑很多gradle構建的開原始碼了!!
~~~~~~~~~~~~~~~~~~~~~~~~~ 福利分割線~~~~~~~~~~~~~~~~~~~~~~~~~~~
-長期內推-:頭條、快手、美團、阿里、陌陌、噹噹。有需要的朋友可以發郵件到我的郵箱[email protected]。
相關推薦
從一個多專案Web工程看Eclipse如何匯入Gradle專案
##概述 上一節,我們說了Eclipse如何安裝Gradle的外掛,以達到對Gradle的支援。 這裡再次說一下為什麼我們需要熟悉Gradle構建工具,主要原因就是很多開源專案現在都在改用Gradle作為構建工具。一部分的github上的示例程式碼也在用Grad
eclipse匯入gradle專案出錯
could not install gradle distribution from 'https://services.gradle.org/distributions/gradle-XXX-XXX.zip解決方法:刪除C:\Users\username\.gradle\w
在eclipse中修改非maven專案web工程名稱
1、copy --》貼上--》改名 2、選中專案右鍵--》properties--》web project settiong 3、工程目錄下的setting資料夾下的org.eclipse.wst.c
將maven構建成一個標準的web工程
1、點選maven的專案名右擊,選擇最後一個properties; 2、找到maven選擇project facets,勾選Java,並對應你jdk的版本號,隨後選擇Dynamic web Module,點選Further configuration available,跳出web工程的頁面
springMVC-router建立一個簡單的web工程
1、安裝jdk和tomcat,安裝方法不再贅述,此處分別是jdk1.7.0_79和tomcat 7.0.27; 2、在eclipse中新建一個web工程: 定義一個工程名和工程的工作空間,並選擇相應的tomcat,此處命名為story,空間為workspace: 下一
架構探險-第一章:從一個簡單的Web應用開始
一,前言 最近一段時間研究Spring原始碼,買了幾本原始碼相關的書, 這本架構探險,從零開始寫java Web框架, 作者是smartFrameWork開源框架創始人,阿里巴巴架構師, 我目前正在學習這本書,隨即寫成筆記,供自己和他人查閱, 本篇是本書的第一
從一個多選框將選項移動到另一多選框中的js小程式碼
<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict
從一個多執行緒的例子,來理解Sleep的機制和用法
這個例子是兩個執行緒用於售票,保證輪流售票的有序性。 #include <windows.h> #include <iostream> DWORD WINAPI Fun1Proc(LPVOID lpParameter);//執行緒1 DWORD W
從svn伺服器上下載工程到eclipse中
上篇部落格寫了如何把maven工程上傳到svn伺服器上,這篇寫從svn上將工程下載下來。 1.在eclipse中import,這裡選擇從SVN中檢出專案,點選next 2.選中你的SVN上的倉庫,
eclipse 將 Gradle 專案改為 web 專案
首先 eclipse 需要安裝Gradle 外掛,當然新版的基本都安裝了。 安裝 Gradle 外掛步驟: 點選 help -> Eclipse Marketplace search 欄 輸入 “buildship” ,在結果欄中點選 ‘i
Eclipse 匯入外部專案無法識別為web專案並且無法在部署到tomcat下
2、找到...程式碼段,加入如下標籤內容並儲存: <nature>org.eclipse.jem.workbench.JavaEMFNature</nature> <nature>org.eclipse.wst.common.modulecore.ModuleCor
Java 從一個多層巢狀迴圈中直接跳出
Java中如何從一個多層巢狀迴圈中退出,例如下面,有兩個迴圈,break只能退出一個for迴圈,不能直接跳過第二個for迴圈 for(Type type : types){for(Type t : types2){if(some condition){// Do some
Eclipse匯入Maven專案詳解
點選選單中File → Import 或者 右鍵左側空白區域,在彈出的選單中,選擇Import。 在彈出的Import視窗中: 選擇Maven 下的 Existing Maven Projects&
Eclipse:eclipse匯入Python專案
eclipse匯入Python專案 在Eclipse匯入Java專案,一般操作都是,開啟eclipse的file--import 然後選擇general--Exiting projects into Workspace 選擇對應的Java路徑即可
eclipse匯入git專案出現There are no resources that can be added or removed from the server錯誤
上傳到git上的專案因為配置了過濾檔案,將.settings檔案和.project檔案都過濾掉了,settings檔案中主要存放的是各種外掛配置,約束你可以更好的利用IDE進行編碼 因為將這兩個檔案過濾掉了,所以導致從git上拉下來的專案,加入到tomcat中是出現如下錯誤(There
解決eclipse匯入的專案無法部署到伺服器
自己可以觀察下 eclipse 匯入的專案 都為java檔案 並不是web 專案 所以無法用伺服器直接執行 解決方法: 右鍵單擊專案選擇 Properties -> Project Facets 1 2 JavaScript 如果沒有js檔案可以
Eclipse匯入github專案
打算向JAVAEE方向學習,打算了一年了,因為拖延症和各種事情,拖到現在,以後學習差不多後需要參考框架學習,先將Spring-FrameWork下下來,以後學習參考使用。 1.註冊一個GitHub賬號,將Spring-FrameWorkFork到自己的賬號裡面。 2.Eclipse安
sts或eclipse匯入maven專案丟失resources
1、原因 :使用maven建立的java專案,在建立時由於版本的原因可能會出現專案中缺少“resources”資料夾,該資料夾的作用主要是用來存放程式各種屬性配置檔案,必不可少。 2、解決方法: 使用maven建立一個java程式,目錄結構: 右鍵專案名稱,選擇最後一項“properties”,:
Eclipse匯入Maven專案詳解(新手初學)
最近遇到Maven管理下的spring MVC專案,組內某位將專案程式碼扔過來,一臉懵逼(囧),查閱了一些資料後終於將此專案執行通了(>_<),特此記錄下來與各位分享。 通俗的來說,Maven就是個類似於Git的專案管理工具。而Spring MVC就是將M(Mo
eclipse 匯入 android 專案紅叉和紅色感嘆號怎麼解決(親測有效)
解決辦法如下: 第一步:你要確保這個專案沒有問題,有的專案本身就有問題,例如:xml 檔案,java 程式等本身就有錯。 第二步:在 Eclipse 選單中選擇 “Project”----〉Clean 解決不了,下一步 第三步:右鍵選擇專案,選擇 “Resource----〉Clean u