[scala] IntelliJ Idea로 SBT 프로젝트를 만드는 방법은 무엇입니까?

방금 Scala / LiftWeb / Sbt 개발을 시작했으며 IntelliJ Idea에서 Sbt 프로젝트를 가져오고 싶습니다. 실제로 두 가지 방법으로 프로젝트를 가져 왔습니다.

1) Maven과 함께. 나는 Maven 프로젝트를 만들었고 그중에서도 Sbt 프로젝트를 만들었고 IntelliJ로 가져 왔습니다. 그런 다음 부두 서버를 쉽게 시작하고 중지하고 다른 작업을 수행 할 수있었습니다. 그러나 그것은 내가 원하는 것이 아닙니다. Maven-free와 같은 작업을하고 싶습니다. 그것은 나를 이끌었다

2) 이클립스와 함께. 그래서 새로운 Sbt 프로젝트를 만들었습니다 (작은 스크립트로 Sbt 프로젝트를 WebProject로 구성). 그런 다음 sbt-eclipsify 플러그인을 사용하여 Eclipse 용 프로젝트를 ‘변환’한 다음 IntelliJ (기존 소스-> 이클립스)로 가져 왔습니다. 그러나 문제는 여기서 시작되었습니다 .IntelliJ Sbt 플러그인이 작동하지 않습니다.

누구든지 이것을 도울 수 있습니까?



답변

프로젝트를 작성하는 세 가지 기본 방법이 있습니다. 최신 버전의 IntelliJ는 sbt 프로젝트를 즉시 가져올 수 있습니다. 그렇지 않으면 sbt 플러그인을 사용하여 IntelliJ 프로젝트를 생성하거나 IntelliJ Scala 플러그인을 사용하여 sbt 프로젝트를 작성할 수 있습니다. 기본 기능은 두 솔루션을 모두 사용하여 즉시 사용할 수 있으며 일부 복잡한 빌드에는 문제가있을 수 있으므로 다른 도구를 사용하여 작동하는지 확인하십시오.

IntelliJ

IntelliJ IDEA는 요즘 훨씬 나아졌습니다. 현재 버전 (14.0.2)은 Scala 플러그인으로 sbt 프로젝트를 즉시 지원합니다. 플러그인을 설치하기 만하면 아무 문제없이 Scala / sbt 프로젝트를 열 수 있습니다.

환경 설정의 플러그인 아래 스칼라 플러그인

플러그인을 사용하면 sbt 프로젝트를 가리키면 IDEA에서 해당 종류의 프로젝트를 열 수있는 마법사를 제공합니다.

SBT 프로젝트 가져 오기

IntelliJ 스칼라 플러그인

IntelliJ 플러그인은 http://confluence.jetbrains.com/display/SCA/Scala+Plugin+for+IntelliJ+IDEA 에서 찾을 수 있습니다
. 있거나 설정-> 플러그인 대화 상자를 사용하여 IDE 내에서 직접 설치할 수 있습니다. 그 후 파일-> 새 프로젝트-> 스칼라-> SBT 기반으로 할 수 있습니다. IntelliJ는 기본 build.sbt를 생성하고 필요한 종속성을 다운로드하고 프로젝트를 엽니 다.

SBT 플러그인

sbt 파일을 기반으로 아이디어 프로젝트를 생성하는 sbt 플러그인은 여기에서 찾을 수 있습니다 : https://github.com/mpeltonen/sbt-idea

SBT 12.0+ 및 13.0+

간단하게 추가 addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.5.2")build.sbt ; 추가 리졸버가 필요하지 않습니다.

이전 버전 :

SBT 0.11+

다음 행을 작성하여 ~/.sbt/plugins/build.sbtOR에 추가하십시오.PROJECT_DIR/project/plugins.sbt

resolvers += "sbt-idea-repo" at "http://mpeltonen.github.com/maven/"

addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.6.0")

사용하다 gen-idea IDEA 프로젝트 파일을 만들 수 SBT에.

기본적으로 sbt 및 라이브러리 종속성의 분류 자 ​​(예 : 소스 및 javadoc)는 발견되고 참조가 IDEA 프로젝트 파일에 추가되면로드됩니다. 다운로드 / 참조하지 않으려면 command를 사용하십시오 gen-idea no-classifiers no-sbt-classifiers.


SBT 0.10.1
(플러그인 저자에 따르면 0.10.0 작동 하지 않습니다 !)

~ / .sbt / plugins / build.sbt에 다음 줄을 만들고 추가하십시오.

resolvers += "sbt-idea-repo" at "http://mpeltonen.github.com/maven/"

libraryDependencies += "com.github.mpeltonen" %% "sbt-idea" % "0.10.0"

사용 gen-ideaIDEA 프로젝트 파일을 만들 SBT 작업을.

기본적으로 sbt 및 라이브러리 종속성의 분류 자 ​​(예 : 소스 및 javadoc)는 발견되고 참조가 IDEA 프로젝트 파일에 추가되면로드됩니다. 다운로드 / 참조하지 않으려면 command를 사용하십시오 gen-idea no-classifiers no-sbt-classifiers.


SBT 0.7

그것을 사용하려면 간단히 sbt 쉘에서 이것을 실행하면 플러그인을 외부 프로그램으로 사용합니다.

 > *sbtIdeaRepo at http://mpeltonen.github.com/maven/
 > *idea is com.github.mpeltonen sbt-idea-processor 0.4.0
 ...
 > update
 ...
 > idea
 ...

원하는대로 프로젝트 정의에 특성을 추가 할 수도 있습니다.

import sbt._
class MyProject(info: ProjectInfo) extends ParentProject(info) with IdeaProject {
  lazy val mySubProject = project("my-subproject", "my-subproject", new DefaultProject(_) with IdeaProject)
   // ...
}


답변

지금은 손으로이 작업을 수행합니다. 아주 간단합니다.

  1. SBT로 프로젝트 만들기
  2. 동일한 루트 경로로 새로운 IDEA 프로젝트를 만듭니다.
  3. 루트 경로가 동일한 모듈 만들기
  4. 모듈에서 src / main / scala를 src 경로로 설정
  5. 모듈에서 src / test / scala를 테스트 경로로 설정
  6. scala-library.jar을 라이브러리로 추가
  7. lib (있는 경우)를 라이브러리 라이브러리 내의 jar 디렉토리로 추가
  8. lib_managed / compile (있는 경우)을 모듈 라이브러리 내의 jar 디렉토리로 추가하십시오.
  9. lib_managed / test (있는 경우)를 모듈 라이브러리 내의 jar 디렉토리로 추가하십시오.

그것은 메모리에서 온 것입니다. 자동화되어 있으면 더 나을 것이지만 지금처럼 큰 문제는 아닙니다.

주의 사항 : 위의 접근 방식은 기본적으로 lib_managed에 종속성을 복사하지 않기 때문에 new-school sbt (예 : 0.10 이상)에서는 제대로 작동하지 않습니다. 추가 할 수 있습니다

retrieveManaged := true

의존성을 lib_managed에 복사하기 위해 build.sbt에.


답변

템푸스 fugit 과 IntelliJ IDEA는 요즘 훨씬 나아졌습니다. 결국 2015 년 이지요?

그러나 IntelliJ IDEA 14.0.2의 최신 버전은 Scala 플러그인으로 sbt 프로젝트를 즉시 지원합니다 . 플러그인을 설치하기 만하면 많은 문제없이 Scala / sbt 프로젝트를 열 수 있습니다.

환경 설정의 플러그인 아래 스칼라 플러그인

글을 쓰는 시점에서 1.2.67.6.EAP 인 플러그인의 Early Access 버전을 사용하고 있습니다.

플러그인을 사용하면 sbt 프로젝트를 가리키고 IDEA는 해당 종류의 프로젝트를 여는 마법사를 제공합니다.

SBT 프로젝트 가져 오기

sbt 0.12.4의 sbt-idea 정보

SBT의 경우 0.12.4 시스템 전체의 플러그인 구성 파일 – ~/.sbt/plugins/build.sbt또는 PROJECT_DIR/project/plugins.sbt– 다음 줄이 있어야합니다

resolvers += "Sonatype snapshots" at "http://oss.sonatype.org/content/repositories/snapshots/"

addSbtPlugin(dependency="com.github.mpeltonen" % "sbt-idea" % "1.5.0-SNAPSHOT")

운영 sbt gen-ideaIDEA 프로젝트 파일을 생성하기 위해 .

읽기 벽성 SBT-아이디어 플러그인 웹 사이트 보다 최신 정보에 대한합니다. 내 블로그 항목 sbt 기반 프로젝트를 IntelliJ IDEA 13으로 가져 오기 (sbt-idea, Scala 2.11 및 sbt 0.12 사용)가 유용 할 수도 있습니다.


답변

sbt 0.7의 경우

이 페이지의 다른 곳에서 답변을 참조 하십시오 .

sbt 0.10의 경우

이스마엘의 sbt-idea를 복제하고 구축하십시오 :

git clone https://github.com/ijuma/sbt-idea.git
cd sbt-idea
git checkout sbt-0.10
./sbt package

sbt 플러그인 lib 디렉토리가 없으면 작성하십시오.

mkdir -p  ~/.sbt/plugins/lib

1 단계에서 빌드 한 항아리를 여기에 복사하십시오.

cp sbt-idea/target/scala-2.8.1.final/*.jar ~/.sbt/plugins/lib

sbt를 다시 시작하거나 다시로드 한 다음 실행할 수 있습니다 gen-idea(또는 gen-idea with-classifiersintelliJ의 소스 및 javadoc도 원하는 경우)

출처 : 메시지 그룹에 대한 Tackers의 제안 .

IntelliJ IDEA 13.x 자체에서

요즘 IDEA에서 SBT 기반 프로젝트를 열 수 있습니다. 필요한 프로젝트와 모듈을 만들고 빌드 스크립트를 변경할 때마다 종속성을 최신 상태로 유지합니다.


답변

방금이 모든 고통을 겪었습니다. 나는 수용 가능한 환경을 만들기 위해 며칠을 보내고 ENSIME, SBT 및 JRebel이 내 개발 환경이 될 것이라고 결론을 내렸다. 예, Emacs로 돌아가고 있지만 ENSIME은 리팩토링, 디버깅 지원, 탐색 등으로 조금 또는 아이디어로 바뀝니다. Eclipse (Java)만큼 좋지는 않지만 스칼라 플러그인이 더 잘 작동하지 않으면 우리가 가진 최고.

스칼라 개발 환경이 스너프 (Eclipse 또는 IntelliJ)에이를 때까지 귀찮게하지 않을 것입니다. 그들은 단지 너무 버그가 있습니다.

리프트 사이트에 대한 토론을 참조하십시오.

http://groups.google.com/group/liftweb/browse_thread/thread/6e38ae7396575052#

이 스레드에는 IntelliJ 용 HOWTO에 대한 링크가 있지만 다소 작동하지만 유용성을 떨어 뜨리는 많은 문제가 있습니다.

http://blog.morroni.com/2010/07/14/setup-intellij-9-for-lift-framework-development/comment-page-1/


답변

대답은 2014 년에 오래되었습니다. IntelliJ 13.x에서 , 플러그인 스칼라 (SBT 포함) 0.41.2 버전입니다.

SBT 버전은 0.13.5입니다 (터미널 : sbt sbtVersion )

프로젝트의 루트 폴더로 이동하여 터미널에 입력하십시오.

sbt idea

새로운 숨겨진 폴더 인 .idea.idea_modules가 표시됩니다. 됩니다.

그런 다음 IntelliJ에서 파일> 열기> 프로젝트를 선택하십시오. 아무런 문제없이 프로젝트를 열어야합니다.


답변

SBT 프로젝트 생성을 시작하기 전에 Scala 플러그인이 IntelliJ IDEA에서 다운로드되어 활성화되어 있는지 확인하십시오.

아래 링크는 당신이 알아야 할 모든 것을 설명합니다.

https://www.jetbrains.com/help/idea/2016.1/getting-started-with-sbt.html