1. 程式人生 > >sbt打包Scala寫的Spark程序,打包正常,提交運行時提示找不到對應的類

sbt打包Scala寫的Spark程序,打包正常,提交運行時提示找不到對應的類

dex ref 3-9 代碼 intellij read clas 找不到 cep

sbt打包Scala寫的Spark程序,打包正常,提交運行時提示找不到對應的類

詳述
  1. 使用sbt對寫的Spark程序打包,過程中沒有問題
  2. spark-submit提交jar包運行提示找不到對應的類
解決
  1. 編譯環境沒有變化,將代碼拷貝到其他項目下打包可以運行,無解
  2. 偶然發現IDEA打開的sbt文件顯示很多錯誤,查看詳情發現存在錯誤:java-lang-ClassNotFoundException-org-jetbrain,遂谷歌之,找到了這個網頁 ,說是IDEA的bug,打開use sbt shell for build and import選項就好了。嘗試之,解決。
  3. 另外,Scala中類package object xxxx是創建object默認的寫法,把package要去掉
參考
  • https://intellij-support.jetbrains.com/hc/en-us/community/posts/115000671044-What-is-estimate-to-support-SBT-1-0-x-or-java-lang-ClassNotFoundException-org-jetbrains-sbt-CreateTasks-
  • https://intellij-support.jetbrains.com/hc/en-us/community/posts/206633295-SBT-0-13-9-fail-java-lang-ClassNotFoundException-org-jetbrains-sbt-ReadProject-

sbt打包Scala寫的Spark程序,打包正常,提交運行時提示找不到對應的類