Scala REPL에서 타사 라이브러리를 사용하는 방법은 무엇입니까?
Algebird를 다운로드 했고이 라이브러리를 사용하여 Scala 인터프리터 에서 몇 가지 시도해보고 싶습니다 . 어떻게해야합니까?
물론 scala -cp를 무엇이든 사용하고 수동으로 종속성을 관리 할 수 있습니다. 그러나 이는 특히 여러 종속성이있는 경우 매우 지루합니다.
보다 유연한 접근 방식은 sbt 를 사용하여 종속성을 관리하는 것입니다. search.maven.org 에서 사용하려는 라이브러리를 검색합니다 . 예를 들어 Algebird는 단순히 algebird 를 검색하여 사용할 수 있습니다 . 그런 다음 해당 라이브러리를 참조하는 build.sbt를 만들고 디렉토리를 입력 한 다음 sbt console을 입력 합니다. 모든 종속성을 다운로드하고 클래스 경로에서 모든 종속성을 사용하여 스칼라 콘솔 세션을 자동으로 시작합니다.
스칼라 버전이나 라이브러리 버전과 같은 사항을 변경하는 것은 build.sbt의 간단한 변경입니다. 놀기 위해 디렉토리에 스칼라 코드가 필요하지 않습니다. build.sbt 만있는 빈 디렉토리는 정상적으로 작동합니다.
다음은 algebird를 사용하기위한 build.sbt 입니다.
name := "Scala Playground"
version := "1.0"
scalaVersion := "2.10.2"
libraryDependencies += "com.twitter" % "algebird-core" % "0.2.0"
편집 : 종종 라이브러리를 가지고 놀고 싶을 때 가장 먼저해야 할 일은 라이브러리의 네임 스페이스를 가져 오는 것입니다. 다음 줄을 추가하여 build.sbt에서 자동화 할 수도 있습니다.
initialCommands in console += "import com.twitter.algebird._"
실행 sbt console은 테스트 범위로 선언 된 라이브러리를 가져 오지 않습니다. REPL에서 이러한 라이브러리를 사용하려면 다음을 사용하여 콘솔을 시작하십시오.
sbt test:consoleQuick
그러나이 방법으로 콘솔을 시작하면 테스트 소스 컴파일을 건너 뜁니다.
출처 : http://www.scala-sbt.org/0.13/docs/Howto-Scala.html
scala의 -cp스위치를 사용 하여 클래스 경로에 jar를 유지할 수 있습니다 . 다른 스위치를 사용할 수는 예를 들어,도있다 -deprecation및 -unchecked다양한 경고를 켜기 위해. scala -X...및 에서 더 많은 것을 찾을 수 있습니다 scala -Y.... 이러한 스위치에 대한 자세한 정보는scala -help
참고 URL : https://stackoverflow.com/questions/18812399/how-to-use-third-party-libraries-with-scala-repl
'program story' 카테고리의 다른 글
| while 루프 대신 for 루프를 사용하는 이유는 무엇입니까? (0) | 2020.11.09 |
|---|---|
| 레이아웃 내의 모든보기를 비활성화하려면 어떻게해야합니까? (0) | 2020.11.09 |
| 채널의 모든 메시지 (~ 8K)를 Slack 정리 (0) | 2020.11.08 |
| 비동기 메서드가 'Async'로 끝나지 않을 때 Visual Studio에서 경고를 받으려면 어떻게하나요? (0) | 2020.11.08 |
| EasyMock : 무효 방법 (0) | 2020.11.08 |