用gradle構建的java專案部署到伺服器
最近剛接觸gradle和爬蟲,把感覺有用的記下來
開發工具:eclipse,spring+mybatis+gradle+webmagic
前提是本地已經有了一個可以執行的gradle的專案,以下主要介紹怎麼把專案部署到伺服器上。
1.改build.gradle檔案
build.gradle檔案裡面加上
apply plugin: 'java'
apply plugin: 'application'
或者
plugins {
id 'java'
id 'application'
}//這兩個的意思一樣。
build.gradle檔案裡面再加上 mainClassName = "啟動爬蟲的main方法的類所在的位置(包名+class名)"例如:mainClassName = "com.te.auto.Main"
如果需要啟動的爬蟲的main方法有多個,可以在Main類裡面寫個switch,例如:
public static void main(String[] args) { for(String arg:args){ switch (arg) { case "1": ASpider aSpider = new ASpider(); aSpider.runner(); break; case "2": CSpider cSpider = new CSpider(); cSpider.runner(); break; case "3": PSpider pSpider = new PSpider(); pSpider.runner(); break; default: break; } } }
這個引數具體怎麼傳會在下面說到。
2.在黑視窗中把專案達成tar包
開啟cmd黑視窗,進到當前專案的根目錄,我的是 D:\eclipse\workspace\spider_worker,然後輸入gradle disttar,等待一會兒,這一步會把專案打成tar包,裡面已經幫你寫好了啟動檔案。把tar包拷貝到伺服器上(tar包在專案根目錄/bulid/distributions下),解壓,tar xvf spider_XXX.tar,我的放在了home資料夾下,然後輸入/home/spider_XXX/bin/spider_XXX 1 ,就能夠執行我的TestSpider類裡面的爬蟲。在/home/spider_XXX/bin/spider_XXX後面加上數字就是傳對應的引數了,可以傳多個,中間用空格隔開。
3,後期修改專案了怎麼辦
以後每次修改專案,不用每次都傳一次spider_XXX.tar,在eclipse上找到gradle task,找到專案名,開啟會看到裡面有一
個bulid資料夾,裡面有個jar,右鍵Run gradle tasks,就會生成一個spider_XXX.jar,在專案根目錄/build/libs下,只有把這個jar提到伺服器上的專案的lib資料夾下,就可以了
4.建立的gradle專案如果沒有src/main/resources 的目錄,可以點選專案>build path>source>add folder
5.在伺服器上打tar包
如果本地打成的tar包太大,傳到伺服器需要很久的話,也可以在伺服器上打包。
(1)首先,如果伺服器上面沒有svn,就先下載svn(yum install subversion),下載gradle(yum search gradle ),下載gradle api(yum info gradle-open-api)
(2)然後下載svn上的專案(svn checkout svn://192.168.00.000/test/spider_test),我放到了home目錄下。
(3)進到專案根目錄下(cd /home/spider_test/),輸入gradle distTar,會在/home/spider_test/build/distributions/資料夾下生成一個spider_test.tar,解壓(tar xvf spider_test.tar)。然後輸入/home/spider_test/build/distributions/spider_test/bin/
spider_test 1,就可以執行專案。
(4)當專案更新的時候,進入到專案的根目錄下,輸入svn update,即可更新專案,之後還是要重新打一次包,也就是重複(3)中的操作。