presto源碼調試環境的搭建

首先從https://github.com/prestodb/presto把源碼 git clone下來,仔細閱讀一遍README

基本上按照README指示就可以順利完成編譯但是中間也有許多小坑

一、presto源碼的編譯

1、安裝JDK

README中說使用Java 8 Update 151 or higher (8u151+),最好直接使用Java 8 Update 151,higher (8u151+)指的是Java 8高於151的版本。筆者誤以爲高於Java 8的版本都可以,所以使用了最新版本的Java JDK,結果編譯中途出錯。

從官網下載指定版本的JDK,參看博客:https://www.cnblogs.com/ztone/p/10578640.html

2、安裝maven並設置

sudo apt-get install maven  

通過whereis命令找到安裝目錄,在安裝目錄中找到config/settings.xml,進行編輯

替換成國內maven鏡像源,在 <mirrors> </mirrors>標籤之間插入:

<mirror>  
    <id>nexus-aliyun</id>  
    <mirrorOf>central</mirrorOf>    
    <name>Nexus aliyun</name>  
    <url>http://maven.aliyun.com/nexus/content/groups/public</url>  
</mirror>  

絕大多數依賴都可以通過國內鏡像源進行下載,速度很快,但是有個別依賴依然是從國外地址下載,可能導致後面的編譯失敗,所以爲了萬無一失,再配置好代理,在<proxies></proxies>標籤之間插入:

 <proxy>
		<id>ss</id>
		<active>true</active>
		<protocol>http</protocol>
		<host>127.0.0.1</host>
		<port>12333</port>
		<nonProxyHosts>127.0.0.1</nonProxyHosts>
</proxy>

當然,需要修改成自己的代理服務信息

左後將此settings.xml文件拷貝到~/.m2/中

3、開始編譯

在presto文件夾中執行:

./mvnw clean install -DskipTests

第一次編譯會maven會下載相關依賴,速度會慢一些,之後的編譯就沒有下載依賴的開銷了。順利的話一次可以編譯成功。但是也可能因爲種種原因失敗。失敗之後可以再次運行上述命令重新編譯,但是這回花費重複編譯的時間。更優的做法是之編譯失敗部分代碼。方法是進入對應失敗的文件夾,然後

../mvnw clean install -DskipTests

這樣只會編譯失敗的單個文件中的代碼。 

二、IntelliJ IDEA的配置

presto官方建議使用IntelliJ IDEA,但是IntelliJ是需要花money的,此處附贈破解IntelliJ IDEA的方法和踩過的坑。主要參考博客:

https://juejin.im/post/5df8a5a5e51d4557f0460990

這篇博客已經寫的很詳細了,但是還是會有一些坑。

首先從官網下載IntelliJ IDEA的軟件,Ubuntu下載:https://download.jetbrains.8686c.com/idea/ideaIU-2019.3.4.tar.gz

然後按照博客https://juejin.im/post/5df8a5a5e51d4557f0460990一步一步做,但是注意:

  • 博客中以windows爲例,路徑是\,但是Linux下路徑是/
  • 如果很不幸路徑設置錯了,將打不開IntelliJ。博客中的方案是刪除~/.IntelliJIdea2019.3 但實際上可以直接編輯~/.IntelliJIdea2019.3/config/idea64.vmoptions
  • 註冊時有可能沒能自動檢測到註冊服務器,手動添加:http://fls.jetbrains-agent.com  (參考博客中說的是添加http://jetbrains-license-server ,但是筆者並未成功)
  • 依然有可能連不上,爲IntelliJ設置代理。File->Settings,搜索Proxy,如圖進行配置:

三、使用 

按照源碼中的README,進行配置:

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章