2016-06-30 2 views
1

를 해결하지 못하는 제가 SBT 의존성을

name := "TweetStream" 
version := "1.0" 

libraryDependencies += "org.apache.spark" %% "spark-core" % "1.5.2" 
libraryDependencies += "org.apache.spark" %% "spark-streaming" % "1.5.2" 
libraryDependencies += "com.google.code.gson" %% "gson" % "2.7" 
libraryDependencies += "org.twitter4j" %% "twitter4j-core" % "4.0.4" 

든 SBT 도구 아래로 미해결 종속성 초래 받는다는 저장소 경로에 xxx_2.10 추가되어 다음과 같은 간단한 SBT 파일이있다.

> compile 
[info] Updating {file:/home/hduser/workspace/TweetStream/}tweetstream... 
[info] Resolving com.google.code.gson#gson_2.10;2.7 ... 
[warn] module not found: com.google.code.gson#gson_2.10;2.7 
[warn] ==== local: tried 
[warn] /home/hduser/.ivy2/local/com.google.code.gson/gson_2.10/2.7/ivys/ivy.xml 
[warn] ==== jcenter: tried 
[warn] https://jcenter.bintray.com/com/google/code/gson/gson_2.10/2.7/gson_2.10-2.7.pom 
[warn] ==== public: tried 
[warn] https://repo1.maven.org/maven2/com/google/code/gson/gson_2.10/2.7/gson_2.10-2.7.pom 
[info] Resolving org.twitter4j#twitter4j-core_2.10;4.0.4 ... 
[warn] module not found: org.twitter4j#twitter4j-core_2.10;4.0.4 
[warn] ==== local: tried 
[warn] /home/hduser/.ivy2/local/org.twitter4j/twitter4j-core_2.10/4.0.4/ivys/ivy.xml 
[warn] ==== jcenter: tried 
[warn] https://jcenter.bintray.com/org/twitter4j/twitter4j-core_2.10/4.0.4/twitter4j-core_2.10-4.0.4.pom 
[warn] ==== public: tried 
[warn] https://repo1.maven.org/maven2/org/twitter4j/twitter4j-core_2.10/4.0.4/twitter4j-core_2.10-4.0.4.pom 
[info] Resolving org.fusesource.jansi#jansi;1.4 ... 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[warn] ::   UNRESOLVED DEPENDENCIES   :: 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[warn] :: com.google.code.gson#gson_2.10;2.7: not found 
[warn] :: org.twitter4j#twitter4j-core_2.10;4.0.4: not found 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[warn] 
[warn] Note: Unresolved dependencies path: 
[warn]  com.google.code.gson:gson_2.10:2.7 (/home/hduser/workspace/TweetStream/build.sbt#L6-7) 
[warn]  +- default:tweetstream_2.10:1.0 
[warn]  org.twitter4j:twitter4j-core_2.10:4.0.4 (/home/hduser/workspace/TweetStream/build.sbt#L7-8) 
[warn]  +- default:tweetstream_2.10:1.0 
[trace] Stack trace suppressed: run last *:update for the full output. 
[error] (*:update) sbt.ResolveException: unresolved dependency: com.google.code.gson#gson_2.10;2.7: not found 
[error] unresolved dependency: org.twitter4j#twitter4j-core_2.10;4.0.4: not found 
[error] Total time: 17 s, completed Jun 30, 2016 11:45:29 PM 

다음 게시판에서 제안한 것처럼 아이비 폴더를 삭제하려고 시도했지만 도움이되지 않았습니다.

~/.ivy2/cache$ rm -r commons-logging/ 

답변

5

스칼라 버전을 지정하지 않으므로 기본값은 2.10이며 원하는 것은 아닐 수 있습니다. 내가 원하는 의존성이 2.10 용으로 게시되었는지는 모르겠다.

Gson은 Scala 라이브러리처럼 게시되지 않으므로 단일 %을 통해 추가해야합니다. twitter4j에 대해서는 잘 모르지만, 그 이름은 스칼라 라이브러리가 아니라 자바라고 제안합니다. 다음과 같이 시도해보십시오. build.sbt

name := "TweetStream" 
scalaVersion := "2.11.8" // provide Scala version 
version := "1.0" 

libraryDependencies += "org.apache.spark" %% "spark-core" % "1.5.2" 
libraryDependencies += "org.apache.spark" %% "spark-streaming" % "1.5.2" 
libraryDependencies += "com.google.code.gson" % "gson" % "2.7" // notice single `%` instead of `%%` 
libraryDependencies += "org.twitter4j" % "twitter4j-core" % "4.0.4" // same here 
+0

Haspemulator. 감사합니다. 단일 %는 확실히 문제를 해결했습니다. scalaVersion 스펙도 아래처럼 두 따옴표로 묶어야한다고 생각합니다. 'scalaVersion : = "2.11.8"' – Maz

+0

@Maz 실제로 고정되어 있습니다. – Haspemulator