2
나는 spark를 사용하는 스칼라 다중 프로젝트를 가지고 있으며, sbt 플러그인 sbt- 어셈블리 0.14.3을 사용해 팻 항아리를 만들려고한다. 내 buils.sbt의 그런 모습 :sbt- 어셈블리로 다중 프로젝트 팻말을 만드는 방법
lazy val commonSettings = Seq(
organization := "blabla",
version := "0.1.0",
scalaVersion := "2.11.8"
)
lazy val core = (project in file("."))
.settings(commonSettings: _*)
.settings(libraryDependencies ++= Seq(
"org.apache.spark" %% "spark-core" % "1.6.1" % "provided",
"org.apache.spark" %% "spark-sql" % "1.6.1" % "provided",
"org.apache.spark" %% "spark-mllib" % "1.6.1" % "provided",...)
lazy val sub_project = project
.settings(commonSettings: _*)
.aggregate(core)
.dependsOn(core)
그리고 나는이 지방 항아리 프로젝트 코어의 모든 라이브러리와 코드를 포함하도록 sub_project의 지방 항아리를 만들고 싶습니다.
sbt
project sub_project
assembly
그리고 나는 다음과 같은 오류가 발생합니다 : : 그러나
[error] missing or invalid dependency detected while loading class file 'blabla.class'.
[error] Could not access term spark in package org.apache,
[error] because it (or its dependencies) are missing. Check your build definition for
[error] missing or conflicting dependencies. (Re-run with `-Ylog-classpath` to see the problematic classpath.)
[error] A full rebuild may help if 'blabla.class' was compiled against an incompatible version of org.apache.
[error] one error found
, 난, 난 내 지방 항아리 얻을 수있는 핵심 프로젝트 "조립"사용할 때 나는 다음 시도했다.
지정한 스칼라 버전이 컴파일 된 스파크 버전과 일치합니까? – nattyddubbs
네,하지만 패키지 일뿐입니다. 아직 실행하지 않으므로 버전이 다르더라도 패키징에 문제가 없어야합니다. – Jitsumi