導航:首頁 > 源碼編譯 > 編譯期依賴

編譯期依賴

發布時間:2023-03-07 21:01:27

『壹』 如何配置sbt的build.sbt使得編譯時將依賴包也打包進去

首先問題解決了,就是sbt-assembly插件的配置問題。這個文檔自己前兩次讀表示看不懂意思。過2天又仔細看了一遍大致明白了,敢動手操作了。
assembly插件的目的是:
The goal is simple: Create a fat JAR of your project with all of its dependencies.
即將項目依賴的大文件也打包到生成的jar中。我的報錯Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/streaming/kafka/KafkaUtils$就是因為包含KafkaUtil的jar包沒打包到jar中。
配置使用插件
下面是我的scala項目目錄結構:
.
├── assembly.sbt
├── build.sbt
├── project
├── README.md
├── run-assembly.sh
├── run.sh
├── src
└── target

插件的配置取決於sbt的版本,詳情見這里
我的是sbt 0.13.8,所以在project/assembly.sbt添加(assembly.sbt)要自己創建:
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.0")

配置assembly的參數
參數在項目根目錄下新建assembly.sbt。
直接引入插件就可以用
sbt assembly

編譯了,但是由於我的sbt下載了大量的依賴包,在編譯的時候遇到了編譯包沖突的問題。這個時候需要配置Merge Strategy(合並策略)

『貳』 怎樣解決maven里編譯時包的依賴有關問題

一、導出到默認目錄 targed/dependency
從Maven項目中導出項目依賴的jar包:進入工程pom.xml 所在的目錄下,執行如下命令

mvn dependency:-dependencies
或在eclipse中,選擇項目的pom.xml文件,點擊右鍵菜單中的Run As,見下圖紅框中,在彈出的Configuration窗口中,輸入 dependency:-dependencies後,點擊運行
maven項目所依賴的jar包會導出到targed/dependency目錄中。
二、導出到自定義目錄中
在maven項目下創建lib文件夾,輸入以下命令:

mvn dependency:-dependencies -DoutputDirectory=lib
maven項目所依賴的jar包都會復制到項目目錄下的lib目錄下
三、設置依賴級別
同時可以設置依賴級別,通常使用compile級別

mvn dependency:-dependencies -DoutputDirectory=lib -DincludeScope=compile

閱讀全文

與編譯期依賴相關的資料

熱點內容
噴油螺桿製冷壓縮機 瀏覽:581
python員工信息登記表 瀏覽:377
高中美術pdf 瀏覽:161
java實現排列 瀏覽:513
javavector的用法 瀏覽:982
osi實現加密的三層 瀏覽:233
大眾寶來原廠中控如何安裝app 瀏覽:916
linux內核根文件系統 瀏覽:243
3d的命令面板不見了 瀏覽:526
武漢理工大學伺服器ip地址 瀏覽:149
亞馬遜雲伺服器登錄 瀏覽:525
安卓手機如何進行文件處理 瀏覽:71
mysql執行系統命令 瀏覽:930
php支持curlhttps 瀏覽:143
新預演算法責任 瀏覽:444
伺服器如何處理5萬人同時在線 瀏覽:251
哈夫曼編碼數據壓縮 瀏覽:428
鎖定伺服器是什麼意思 瀏覽:385
場景檢測演算法 瀏覽:617
解壓手機軟體觸屏 瀏覽:352