Programming

누군가 SBT를 사용하는 올바른 방법을 설명 할 수 있습니까?

procodes 2020. 8. 19. 20:10
반응형

누군가 SBT를 사용하는 올바른 방법을 설명 할 수 있습니까?


나는 이것에 대해 옷장에서 내릴거야! SBT를 이해하지 못합니다. 내가 말 했으니 이제 제발 도와주세요.

모든 길은 로마로 통한다, 그것은 SBT에 대해 동일합니다 : 시작하려면 SBTSBT, SBT Launcher, SBT-extras, 등, 다음을 포함하고 저장소에 결정하는 여러 가지 방법이 있습니다. '최상의'방법이 있습니까?

때때로 나는 조금 길을 잃기 때문에 묻는 것입니다. SBT 문서는 매우 철저하고 완료,하지만 난 사용할 때 자신이 모르는 발견 build.sbt하거나 project/build.properties또는 project/Build.scalaproject/plugins.sbt.

그러면 재미있어집니다. Scala-IDE그리고 SBT- 함께 사용하는 올바른 방법은 무엇입니까? 가장 먼저 오는 것은 무엇입니까? 닭고기 또는 계란?

가장 중요한 것은 아마도 프로젝트에 포함 할 올바른 저장소와 버전을 어떻게 찾 느냐는 것입니다. 기계를 꺼내서 해킹을 시작하면 되나요? 나는 모든 것과 부엌 싱크대를 포함하는 프로젝트를 자주 찾는다. 그리고 깨달았다.

간단한 예로, 지금은 새로운 프로젝트를 시작하고 있습니다. 나는의 최신 기능을 사용하려면 SLICKScala이 아마 SBT의 최신 버전이 필요합니다. 시작하기위한 올바른 요점은 무엇이며 그 이유는 무엇입니까? 어떤 파일에서 정의해야하며 어떻게 표시되어야합니까? 이 작업을 수행 할 수 있다는 것을 알고 있지만 모든 것이 어디로 가야하는지에 대한 전문가의 의견을 듣고 싶습니다 (왜 거기에 가야하는지 보너스가있을 것입니다).

저는 SBT지금까지 1 년 넘게 소규모 프로젝트에 사용 하고 있습니다. 나는 사용한 SBT다음 SBT Extras(약간의 두통이 마술처럼 사라지게 만들었 기 때문에), 왜 둘 중 하나를 사용 해야하는지 잘 모르겠습니다. 나는 사물이 어떻게 조화를 이루는 지 ( SBT및 저장소) 이해하지 못해 약간 좌절하고 있으며, 이것이 인간의 용어로 설명 될 수 있다면 다음 사람이 이런 식으로 오는 많은 어려움을 덜어 줄 것이라고 생각합니다.


가장 중요한 것은 아마도 프로젝트에 포함 할 올바른 저장소와 버전을 어떻게 찾 느냐는 것입니다. 기계를 꺼내서 해킹을 시작하면 되나요? 나는 모든 것을 포함하는 프로젝트와 부엌 싱크대를 자주 찾습니다.

Scala 기반 종속성의 경우 저자가 권장하는대로 진행합니다. 예 : http://code.google.com/p/scalaz/#SBT 는 다음을 사용함을 나타냅니다.

libraryDependencies += "org.scalaz" %% "scalaz-core" % "6.0.4"

또는 https://github.com/typesafehub/sbteclipse/ 에 추가 할 위치에 대한 지침이 있습니다.

addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "2.1.0-RC1")

Java 기반 종속성의 경우 http://mvnrepository.com/사용 하여 무엇이 있는지 확인한 다음 SBT 탭을 클릭합니다. 예를 들어 http://mvnrepository.com/artifact/net.sf.opencsv/opencsv/2.3 은 다음을 사용함을 나타냅니다.

libraryDependencies += "net.sf.opencsv" % "opencsv" % "2.3"

그런 다음 기계를 꺼내서 해킹을 시작하십시오. 운이 좋으면 동일한 jar에 의존하지만 호환되지 않는 버전을 사용하는 jar를 사용하지 않는 것이 좋습니다. Java 에코 시스템을 고려할 때 모든 항목과 주방 싱크를 포함하는 경우가 많으며 종속성을 제거하거나 필수 종속성이 누락되지 않았는지 확인하는 데 약간의 노력이 필요합니다.

간단한 예로, 지금은 새로운 프로젝트를 시작하고 있습니다. SLICK 및 Scala의 최신 기능을 사용하고 싶습니다.이를 위해서는 최신 버전의 SBT가 필요할 것입니다. 시작하기위한 올바른 요점은 무엇이며 그 이유는 무엇입니까?

나는 sbt에 대한 면역을 점진 적으로 구축 하는 것이 제정 한 포인트라고 생각합니다 .

이해했는지 확인하십시오.

  1. 범위 형식 {<build-uri>}<project-id>/config:key(for task-key)
  2. 설정의 3 개 맛 ( SettingKey, TaskKey, InputKey) -에서 "작업 키"라는 섹션을 읽어 http://www.scala-sbt.org/release/docs/Getting-Started/Basic-Def

이 4 페이지를 항상 열어 두어 다양한 정의와 예제를 바로 찾아 볼 수 있습니다.

  1. http://www.scala-sbt.org/release/docs/Getting-Started/Basic-Def
  2. http://www.scala-sbt.org/release/docs/Detailed-Topics/index
  3. http://harrah.github.com/xsbt/latest/sxr/Keys.scala.html
  4. http://harrah.github.com/xsbt/latest/sxr/Defaults.scala.html

최대 사용 확인 showinspect 및 탭 완성을 설정, 의존성, 정의와 관련 설정의 실제 값에 익숙해 질 수 있습니다. 나는 당신이 발견하게 될 관계 inspect가 어디에도 문서화되어 있다고 믿지 않습니다 . 더 나은 방법이 있다면 그것에 대해 알고 싶습니다.


sbt를 사용하는 방법은 다음과 같습니다.

  1. sbt-extras 사용 -쉘 스크립트를 가져 와서 프로젝트의 루트에 추가하십시오.
  2. sbt 설정 project을위한 MyProject.scala파일이 있는 폴더를 만듭니다 . 나는 build.sbt접근 방식 보다 이것을 훨씬 선호합니다 -스칼라이고 더 유연합니다.
  3. 크리에이트 project/plugins.sbt파일을 당신의 IDE에 해당하는 플러그인을 추가 할 수 있습니다. eclipse, intellij 또는 ensime 용 프로젝트 파일을 생성 할 수 있도록 sbt-eclipse, sbt-idea 또는 ensime-sbt-cmd 중 하나입니다.
  4. 프로젝트의 루트에서 sbt를 시작하고 IDE 용 프로젝트 파일을 생성합니다.
  5. 이익

IDE 프로젝트 파일은 sbt에 의해 생성되었으므로 확인하지 않아도되지만 그렇게하려는 이유가있을 수 있습니다.

여기에서 이와 같은 설정 예를 볼 수 있습니다 .


프로젝트 템플릿 및 시드와 함께 제공되는 sbt를 호출하는 멋진 방법 인 Typesafe Activator 사용 : https://typesafe.com/activator

Activator new

Fetching the latest list of templates...

Browse the list of templates: http://typesafe.com/activator/templates
Choose from these featured templates or enter a template name:
 1) minimal-java
 2) minimal-scala
 3) play-java
 4) play-scala
(hit tab to see a list of all templates)

참고 URL : https://stackoverflow.com/questions/11411242/can-someone-explain-the-right-way-to-use-sbt

반응형