2015-11-29 105 views
3

我有一個火花流Scala的項目,該項目使用Apache NiFi接收器。這些項目在Eclipse/Scala IDE下運行良好,現在我想打包它進行部署。 當我將其添加爲如何Java的依賴關係添加到斯卡拉項目的SBT文件

libraryDependencies += "org.apache.nifi" %% "nifi-spark-receiver" % "0.3.0" 

SBT假定它是一個Scala庫,並試圖解決它。

如何母鹿我添加NiFi接收器和它的所有依賴於項目的SBT文件?

此外,是否有可能品脫的依賴到本地目錄,而不是SBT試圖解決?

在此先感謝。

這裏是我的SBT文件的內容:

name := "NiFi Spark Test" 

version := "1.0" 

scalaVersion := "2.10.5" 

libraryDependencies += "org.apache.spark" %% "spark-core" % "1.5.2" % "provided" 
libraryDependencies += "org.apache.nifi" %% "nifi-spark-receiver" % "0.3.0" 
+0

您也可以嘗試Maven構建[鏈接](http://stackoverflow.com/questions/32265456/how-to-pre-package-external-libraries-when-using-spark-on-a-mesos-cluster/ 32403191#32403191) – Kaushal

回答

4

libraryDependencies + = 「org.apache.nifi」 %% 「nifi火花接收器」 % 「0.3.0」

雙%的用於添加階版本作爲後綴的行家僞影。這是必需的,因爲不同的scala編譯器版本會產生不兼容的字節碼。如果你想使用Java庫從行家,那麼你應該使用單%字符

libraryDependencies += "org.apache.nifi" % "nifi-spark-receiver" % "0.3.0" 
+0

謝謝。我做了它,現在得到了錯誤的波紋管。這是否意味着我需要添加loj4j依賴項? 此外,是否有可能將本地目錄的依賴關係,而不是試圖解決? [錯誤]數據尚未加載時無法獲取工件。 IvyNode = org.slf4j#slf4j-log4j12; 1.7.2 java.lang.IllegalStateException:數據尚未加載時無法獲取工件。 IvyNode = org.slf4j#slf4j-log4j12; 1.7.2 –

1

我還發現,我可以把庫中的項目依賴於到lib文件夾和組裝

在將有所回升
相關問題