一、編譯準備
1.下載原始碼包
https://github.com/apache/hive/archive/refs/tags/rel/release-2.3.7.zip
或使用git直接拉取
無法解決科學問題請點
2.環境
JDK 1.8.0_202
Apache Maven 3.6.3
git 2.32.0 (編譯過程需要執行bash,cmd會報錯)
二、執行操作與主要問題
1.操作
在已經解壓過的Hive原始碼包下啟動git bash 執行一下程式碼
mvn clean package -Phadoop-2,dist
這是官網給出的編譯語句,根據基於的hadoop版本填入數字
mvn clean package -Phadoop-2 -DskipTests
跳過測試
mvn -Phadoop-2 -Pdist -DskipTests -Dmaven.javadoc.skip=true clean package
在上面的基礎上跳過文件生成
如果顯示Hadoop依賴問題報錯可以去掉hadoop項 mvn clean package -Pdist -DskipTests
2.主要問題
(1).pentaho-aggdesigner-algorithm:jar缺失
這個問題基本編譯Hive的都會遇到,根本原因是阿里雲映象jar包索引不明,按照其它方法提供的更改POM檔案中spring映象倉庫依然無法下載jar包,最終手動下載安裝成功
mvn install:install-file -DgroupId=org.pentaho -DartifactId=pentaho-aggdesigner-algorithm -Dversion=5.1.5-jhyde -Dpackaging=jar -Dfile=pentaho-aggdesigner-algorithm-5.1.5-jhyde.jar(jar絕對路徑)
(2).Java環境問題
經過幾次測試結合其他總結經驗發現,JDK驗證(java -version,javac,java)都正常的情況依然會有類似報錯
可以在執行編譯語句前設定JDK路徑(很多時候mvn預設是JRE)set JAVA_HOME=你的JDK絕對路徑
解決上述問題基本就編譯成功