복붙노트

[SCALA] 플레이 프레임 워크 및 스칼라와 IntelliJ를 사용하는 방법

SCALA

플레이 프레임 워크 및 스칼라와 IntelliJ를 사용하는 방법

나는 플레이 프레임 워크 2.11 응용 프로그램 인 IntelliJ를 사용하는 것을 시도하고있다.

나는 플레이 프레임 워크 2 플러그인과 IntelliJ를위한 스칼라 플러그인을 설치했습니다.

나는 재생 응용 프로그램을 만들었습니다. 나는 쓰기를 고민하고 인 IntelliJ에 사양이 테스트를 실행하고있다. 내 실행 설정은 사양이 테스트를 실행할 때, 그러나 그것은 내 테스트 클래스가 생성되고처럼 보이지 않는, 최초의 "메이크업"을 실행했다. 이 사양을 찾을 수 있다고 말해을 유지합니다. 내가 파일 시스템에서 볼 때, 대상 / 테스트 클래스에는 코드, 디렉토리가 비어 없습니다있다. 또한, 적어도 재생 콘솔을 실행에 비해 빌드를 수행하는 데 시간이 오래 걸릴 것으로 보인다.

나는 사람들이 IntelliJ를 함께 플레이를 어떻게 사용하고 있는지보고 싶었다. 당신은 단지 재생 콘솔을 통해 편집기 및 실행 모든으로 인 IntelliJ를 사용하십니까?

당신이 인 IntelliJ (테스트 클래스를 점점 실행하는)에서 응용 프로그램 테스트를 실행할 수있게된다있는 방법이 있나요?

나는 어떤 문제 재생 콘솔을 실행하고 ~ 테스트 전용 테스트 = xxx.Spec를 실행했다 적이 없다. 그것은 일반적으로 오히려 빠른하고있다.

여기에 내 Specs2 테스트를 실행하려고 할 때 내가 IntelliJ를 점점 오전 예외입니다 :

Exception in thread "main" java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.jetbrains.plugins.scala.testingSupport.specs2.JavaSpecs2Runner.runSingleTest(JavaSpecs2Runner.java:130)
    at org.jetbrains.plugins.scala.testingSupport.specs2.JavaSpecs2Runner.main(JavaSpecs2Runner.java:76)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Caused by: java.lang.RuntimeException: can not create specification: test.ApplicationSpec
    at scala.sys.package$.error(package.scala:27)
    at org.specs2.specification.SpecificationStructure$.createSpecification(BaseSpecification.scala:96)
    at org.specs2.runner.ClassRunner.createSpecification(ClassRunner.scala:64)
    at org.specs2.runner.ClassRunner.start(ClassRunner.scala:35)
    at org.specs2.runner.ClassRunner.main(ClassRunner.scala:28)
    at org.specs2.runner.NotifierRunner.main(NotifierRunner.scala:24)
    ... 11 more

해결법

  1. ==============================

    1.업데이트 : 인 IntelliJ의 IDEA 경우 최신 버전에서는, 재생 / 활성화에서 모듈을 만드는 데 더 이상 필요하지 않습니다. 하게 IntelliJ IDEA는 이제 SBT 프로젝트를위한 정말 좋은 지원을하고있다. 존재하는 경우, 프로젝트 내부의 모든 아이디어 관련 디렉토리를 삭제합니다. 그런 다음 인 IntelliJ IDEA 클릭 파일 -> 열기는 build.sbt 파일을 선택합니다. 그게 다야.

    업데이트 : 인 IntelliJ의 IDEA 경우 최신 버전에서는, 재생 / 활성화에서 모듈을 만드는 데 더 이상 필요하지 않습니다. 하게 IntelliJ IDEA는 이제 SBT 프로젝트를위한 정말 좋은 지원을하고있다. 존재하는 경우, 프로젝트 내부의 모든 아이디어 관련 디렉토리를 삭제합니다. 그런 다음 인 IntelliJ IDEA 클릭 파일 -> 열기는 build.sbt 파일을 선택합니다. 그게 다야.

    하게 IntelliJ IDEA는 실행되는 대부분의 시간을 프레임 워크 2. 때때로 용지 걸림 재생을위한 좋은 통합을 가지고 있지만. IDE 내에서와 SBT 콘솔없이 그리고이 모든, 나는, (단일 전체) 테스트를 실행 시작하거나 재생 응용 프로그램 및 O 편집 내 코드를 (디버깅하는 데 사용합니다.

    여기에 가장 중요한 단계 짧은 튜토리얼입니다. 현재 내가 최신 플레이 프레임 워크 2와 스칼라 플러그인과 함께하게 IntelliJ IDEA 12.1을 사용합니다.

    새 응용 프로그램을 만들기 1

    play new myapp
    

    IDE에서 모듈을 생성합니다

    재생 콘솔을 시작합니다 :

    cd newapp
    play
    

    모듈을 만들기 :

    idea with-sources=yes
    exit
    

    3. 구성 IDE

    테스트를 실행하십시오

    테스트 디렉토리 아래에 ApplicationSpec를 선택하고 컨텍스트 메뉴에서 실행 'ApplicationSpec'을 클릭합니다. 당신은 컴파일 된 템플릿을 찾을 수 없습니다 오류가 발생합니다. IDE에서 템플릿을 컴파일하지 않기 때문입니다,하지만 한 번 응용 프로그램을 실행하여 수행 할 수 있습니다. 또한 포인트 5를 수행하고 검사를 다시 실행하십시오.

    응용 프로그램을 실행 (5)

    컨트롤러를 선택하고 컨텍스트 메뉴에서 실행 재생이 앱을 클릭합니다. HTTP : // localhost를 : 9000 /이 주소에서 응용 프로그램을 시작합니다.

    6. 업데이트 종속성

    당신이 당신의 응용 프로그램 종속성을 업데이트하는 경우에 당신은이 변경 사항에 대한 IDE를 알려야합니다. 또한 플레이 업데이트 명령을 실행 한 후에는 IDE를 종료해야하며, 프로젝트 디렉토리에서 일부 파일을 제거합니다. 당신이 파일을 제거하기 전에 플레이 아이디어 명령을 실행하면, 당신은 당신의 플레이 프로젝트의 두 배 종속성을 얻는다.

    의존성를 업데이트하려면 다음 단계를 실행합니다 :

  2. ==============================

    2.재생 콘솔은 SBT 플러그인 이름 SBT-아이디어의 포크가 포함되어 있습니다. 연극의 포크는 원래 플러그인 뒤쳐 조금을 가지고, 당신은 플레이 아이디어를 실행할 때 인 IntelliJ에 몇 가지 문제가있다. 당신은 어떤 문제가없는 원래의 플러그인을 사용할 수 있습니다. 당신의 플레이 프로젝트에서이 플러그인을 사용하려면 다음을 수행해야합니다 ..

    재생 콘솔은 SBT 플러그인 이름 SBT-아이디어의 포크가 포함되어 있습니다. 연극의 포크는 원래 플러그인 뒤쳐 조금을 가지고, 당신은 플레이 아이디어를 실행할 때 인 IntelliJ에 몇 가지 문제가있다. 당신은 어떤 문제가없는 원래의 플러그인을 사용할 수 있습니다. 당신의 플레이 프로젝트에서이 플러그인을 사용하려면 다음을 수행해야합니다 ..

    프로젝트 / plugins.sbt 파일에 다음 줄을 1.Add : (중간에 빈 줄이 필요합니다)

    resolvers += "Sonatype snapshots" at "http://oss.sonatype.org/content/repositories/snapshots/"
    
    addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.5.1")
    

    2.Run 발전기 아이디어 플레이 콘솔에서.

  3. ==============================

    3.나는 보통 플레이 프레임 워크 코드 편집기 때문에위한 IntellijIDEA (버전 12.0.4) 사용 :

    나는 보통 플레이 프레임 워크 코드 편집기 때문에위한 IntellijIDEA (버전 12.0.4) 사용 :

    그리고 나는 보통 실행하고 플레이 SBT 콘솔과 응용 프로그램을 디버깅합니다. 그것은 합리적인 빠릅니다. 그러나, 콘솔 플레이 명령을 실행 가끔 때, 나는로드 프로젝트 - 정보 작업이 너무 오래 시간 (약 10 분)이 걸릴 것으로 나타났다. 이 때때로 일어날 이유는 모르겠지만, 전체 재생 SBT 콘솔의 사용은 내 선택이 될 것입니다.

    내가하고있어 그 보통이 있기 때문에해야 -하지 - 수 - 더 - 문제 일 다음과 같이 오류로 해석 :

    내가 플레이 프레임 워크를 학습을 처음 시작하면, 나는 그런 문제에 직면했다. 그래서, 마지막에, 나는 실행 한 다음 응용 프로그램을 디버깅하기 위해 재생 SBT 콘솔을 사용하여 선택합니다.

    그리고 미안 해요 지금은 단지 실행하고 플레이 응용 프로그램을 디버깅 시도까지 질문 번호 2에 대한 답변을 할 수 없다. 목적을 테스트하기 위해 나는 플레이 2.x 용하기 전에 한 번도 안 써봤

  4. from https://stackoverflow.com/questions/16135716/how-to-use-intellij-with-play-framework-and-scala by cc-by-sa and MIT license