2010-08-02 5 views
3

명령 줄에서 Maven을 실행할 때 작동하는 this page의 지침에 따라 Java 및 Scala 소스가 혼합 된 프로젝트가 있습니다.IDE에서 Maven을 사용하여 Java에서 Scala 클래스를 확인할 수 있습니까?

그러나 IDEA 및 Netbeans와 같은 IDE를 사용하는 사람들은 Java 코드에서 스칼라 클래스를 해결하는 데 문제가 있습니다 (사용 가능한 플러그인 덕분에 다른 방법은 아닙니다). 문제를 해결할 방법이 있습니까?

참고 : 명령 줄에서 잘 만들 수 있습니다. Scala 클래스는 Java 클래스보다 먼저 컴파일됩니다. IDE에서 이것을 인식하기 만하면됩니다. 이 문제를 해결하기 위해 Scala 클래스를위한 별도의 모듈을 생성 할 수는 있지만 과도한 것 같습니다.

참고 : IDEA에서 필자는 "스칼라 클래스를 먼저 컴파일해야합니다."그리고 여전히 그 트릭을 수행하지 않습니다.

업데이트 : 여기에 내가 사용 버전은 다음과 같습니다 스칼라 라이브러리 2.8.0 받는다는 - 스칼라 - 플러그인 2.12 IDEA 9.0 궁극적 인 플러그인의 repos에서 최신 스칼라 플러그인은 넷빈즈 스칼라 야간 플러그인 6.9

답변

1

어떤 버전의 스칼라, IDE, 스칼라 플러그인을 사용하고 있습니까?

9 개월 전 Scala 2.7을 사용하기 시작했을 때 동일한 문제가있었습니다. 최근에 혼합 된 프로젝트를 시도하지는 않았지만 Scala 2.8에서이 문제가 해결 될 것이라는 것이 나의 이해가되었습니다. 스칼라 2.8으로 Eclipse 3.5.2를 시험해 보는 것이 가치가 있을지도 모른다. 내 인상은 이클립스 플러그인이 다른 IDE 플러그인보다 2.8의 변경 사항을 잘 따라 잡고 있다는 인상이다.

+0

그래. Scala 2.8이 Eclipse 3.5.2는 저에게 잘 작동합니다. Java 코드 내에서 Scala 클래스를 해결할 수 있습니다. 감사! – retiman

+0

@retiman IDEA의 EAP 버전을 사용하면 효과가 있을지 모르겠습니다. 필자는 최근 2.7.7 코드베이스를 2.8로 이식했으며 EAP 버전으로 전환하면 많은 문제가 해결되었습니다. –

+0

@RavishBhagdev이 질문/답변은 구식입니다. 더 적절한 답변을 얻기 위해 자신의 질문을 올리는 것이 좋습니다. –

1

나는 이클립스 인디고 + 스칼라 IDE 2.9, m2eclipse, 스칼라 2.9 + jdk1.7 믹스를 어떻게 사용하는지 알아 내려고 노력했다.

maven eclipse plugin (mvn eclipse : eclipse)을 사용하고 아래의 사용자 정의로 Eclipse 프로젝트 (maven 프로젝트 아님)로 프로젝트를 가져 오는 것이 오류 표시를 정리 한 것을 알게되었습니다.

<plugin> 
    <groupId>org.scala-tools</groupId> 
    <artifactId>maven-scala-plugin</artifactId> 

    <executions> 
     <execution> 
      <id>scala-compile-first</id> 
      <phase>process-resources</phase> 
      <goals> 
       <goal>add-source</goal> 
       <goal>compile</goal> 
      </goals> 
     </execution> 
     <execution> 
      <id>scala-test-compile</id> 
      <phase>process-test-resources</phase> 
      <goals> 
       <goal>testCompile</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin> 

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>build-helper-maven-plugin</artifactId> 

    <executions> 
     <execution> 
      <id>add-source</id> 
      <phase>generate-sources</phase> 
      <goals> 
       <goal>add-source</goal> 
      </goals> 
      <configuration> 
       <sources> 
        <source>src/main/scala</source> 
       </sources> 
      </configuration> 
     </execution> 
     <execution> 
      <id>add-test-source</id> 
      <phase>generate-sources</phase> 
      <goals> 
       <goal>add-test-source</goal> 
      </goals> 
      <configuration> 
       <sources> 
        <source>src/test/scala</source> 
       </sources> 
      </configuration> 
     </execution> 
    </executions  
</plugin> 

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-eclipse-plugin</artifactId> 
    <version>2.8</version> 

    <configuration> 
     <downloadSources>true</downloadSources> 
     <downloadJavadocs>true</downloadJavadocs> 
     <projectnatures> 
      <projectnature>org.scala-ide.sdt.core.scalanature</projectnature> 
      <projectnature>org.eclipse.jdt.core.javanature</projectnature> 
     </projectnatures> 
     <buildcommands> 
      <buildcommand>org.scala-ide.sdt.core.scalabuilder</buildcommand> 
     </buildcommands> 
     <classpathContainers> 
      <classpathContainer>org.scala-ide.sdt.launching.SCALA_CONTAINER"</classpathContainer> 
      <classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER</classpathContainer> 
     </classpathContainers> 
     <excludes> 
      <exclude>org.scala-lang:scala-library</exclude> 
      <exclude>org.scala-lang:scala-compiler</exclude> 
     </excludes> 
     <sourceIncludes> 
      <sourceInclude>**/*.scala</sourceInclude> 
      <sourceInclude>**/*.java</sourceInclude> 
     </sourceIncludes> 
    </configuration> 
</plugin> 
관련 문제