2013-08-07 3 views
3

spark에서 예제를 실행하려고 할 때 오류가 발생합니다. 아무도 내 pom.xml에 spark로 프로그램을 실행하기 위해 어떤 변화가 필요한지 알려주시겠습니까? 메이븐 빌드에 스칼라-반영을 위해java.lang.NoClassDefFoundError : scala/reflect/ClassManifest

+2

당신이 가리키는 예가 무엇입니까? 예제를 추가하고 오류 표시 – mebada

답변

3

당신은 실행 종속을 추가해야합니다 :

<dependency> 
    <groupId>org.scala-lang</groupId> 
    <artifactId>scala-reflect</artifactId> 
    <version>2.10.2</version> 
</dependency> 
6

현재는 스칼라 2.9.3 작동 스파크. Scala의 최신 버전에서는 작동하지 않습니다. 2.00.2 설치를 가리키는 SCALA_HOME으로 SparkPi 예제를 실행하려고했을 때 설명하는 오류가 발생했습니다. 대신 SCALA_HOME을 2.9.3 설치 지점으로 지정하면 문제가 해결되었습니다. 세부 사항 here.

+0

고맙습니다. 나에게 큰 도움이됩니다. –

0

Scala-Redis 2.9 클라이언트 (Scala 2.10과 호환되지 않음)를 사용하여 같은 문제에 빠지면 스칼라 반영 의존성을 포함하면 도움이되지 않습니다. 스칼라 반영은 자체 항아리로 패키징되지만 스칼라 2.10.0 이후에는 사용되지 않는 클래스 누락을 포함하지 않습니다 (이 thread 참조).

정답은이 클래스가 포함 된 스칼라 설치를 가리 킵니다. (제 경우에는 스칼라 - 레디 스 클라이언트를 사용하고 McNeill의 대답은 도움이되었습니다.) 스칼라 2.9.3을 가리키며 SBT를 사용하면 모든 것이 예상대로 작동했습니다)

0

내 경우에는 Kafka의 API에서 오류가 발생합니다. 내가

<dependency> 
    <groupId>org.apache.spark</groupId> 
    <artifactId>spark-streaming-kafka_2.10</artifactId> 
    <version>1.6.1</version> 
</dependency> 

<dependency> 
    <groupId>org.apache.kafka</groupId> 
    <artifactId>kafka_2.9.2</artifactId> 
    <version>0.8.1.1</version> 
</dependency> 

에서 종속성을 변경하여 문제를 해결했습니다.