1. 程式人生 > >用gradle構建的java專案部署到伺服器

用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)中的操作。