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

編譯期依賴

發布時間: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

閱讀全文

與編譯期依賴相關的資料

熱點內容
如何更改站點文件夾名字 瀏覽:890
如何看伺服器幾核 瀏覽:274
找酒吧設計公司用什麼app 瀏覽:680
基本初等函數的導數公式及導數的運演算法則 瀏覽:915
為什麼小米app啟動廣告關不了 瀏覽:877
空調壓縮機一直不停 瀏覽:511
養殖系統開發源碼 瀏覽:82
pdf的目錄 瀏覽:406
光遇安卓如何一個人拍視頻 瀏覽:277
怨女pdf 瀏覽:708
扭曲伺服器什麼時候開 瀏覽:23
加密貨幣換平台 瀏覽:610
手機內存壓縮軟體 瀏覽:33
生成樹是否與遍歷演算法有關 瀏覽:728
python強化學習迷宮 瀏覽:450
老包子解壓視頻 瀏覽:885
伺服器注冊是什麼意思 瀏覽:419
程序員群體焦慮如何破局 瀏覽:585
程序員在廣州上班 瀏覽:803
androidlinuxadt 瀏覽:512