2011-11-08 2 views
0

java maven 프로젝트가 있습니다. Eclipse 용 scala 플러그인을 설치하고 프로젝트에 스칼라 속성을 추가했습니다. 자, 나는 몇몇 커스텀 스칼라 액터와 다른 유틸리티 클래스를 작성했다. 나는이 자바 클래스에서 스칼라 클래스를 사용하고있다. 코드를 쓰는 동안, 내가 청소/빌드를 받는다는 할 때 나누었다는, 그것은 컴파일 오류의 같은 발생 오류가 발생하지 않습니다java maven 프로젝트에서 스칼라 클래스를 사용하여 컴파일 오류가 발생했습니다.

11/8/11 10:45:23 AM : [ERROR] ............\Simple.java:[86,10] cannot find symbol 
symbol : variable ExecutorObject 
location: class com.ms.scala.Simple 
11/8/11 10:45:23 AM : [INFO] 2 errors 
11/8/11 10:45:23 AM : [INFO] ------------------------------------------------------------- 
11/8/11 10:45:23 AM : Build errors for Project; org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project : Compilation failure 

이클립스 IDE 아래 : 헬리오스 -3.5, 스칼라 - 오는 2.9.2 플러그인과 함께

나는 이것을 할 사용자 지정 컴파일러 구성이 있다고 생각합니까? 나는 또한 다른 초보자 질문이있다

어떻게 자바에서 직접 스칼라 배우를 시작하고 그것에 메시지를 보냅니 까? 내가 볼 수있는 것은 act() 메소드뿐입니다. 당신이 당신의 받는다는 치어로 스칼라 컴파일 단계를 추가 한 내가,

이 첫 번째의 경우 당신에게 sanre6

+1

몇 가지 코드를 표시 할 수 있습니까? 첫 번째 문제를 일으키는 원인을 추론하는 것은 매우 어렵습니다. 두 번째 질문에 관해서는, Scala'actor' 메서드를 에뮬레이트 할 수있는 간단한 방법이 없으므로 Java에서 배우를 자동으로 시작합니다 (자바가 아직 클로저를 지원하지 않기 때문에). –

+0

잘 실제로 그 코드가 문제가되지 않습니다, 같은 코드는 일반 자바 프로젝트에서 잘 작동합니다. 하지만. maven 컴파일러 플러그인을 사용하여 maven 프로젝트에서이 클래스들을 사용할 때, 나는이 에러들을 얻는다. 이유는 배우가 자바에서 직접 사용할 수 없다는 이유에 대한 설명 주셔서 감사합니다 – sanre6

답변

3

감사 자바이

actor { 

CustomActor ! Message 

} 

을하고 싶지? maven-scala-plugin을 당신의 pom에 추가 했습니까?

Mirco가 말한 것처럼 Java에서 액터를 정의하는 간단한 방법은 없습니다. 스칼라에서 정의해야하지만, 자바에서 시작하고 메시지를 보낼 수있다.

start() 인스턴스에 연결하기 만하면!!를 사용하여 메시지를 전달할 수 있습니다. 방법. 이것은 java에서 사용할 수 있지만 $bang이라고합니다.

+0

아니 maven scala plugin을 추가하지 않았습니까? 따라서 플러그인에서 사용하는 Java 컴파일러는 스칼라 클래스를 컴파일 할 수 없습니다. – sanre6

+0

일반 maven 컴파일러 플러그인은 스칼라 클래스를 컴파일 할 수 없습니다. maven 스칼라 플러그인을 추가해야합니다. –

+0

maven-scala-plugin은 자바/스칼라 코드를 섞어서 모든 문제를 해결했습니다. 이제는 maven-scala-plugin을 사용하여 스칼라 클래스를 준수하는 첫 단계로 모든 maven 목표를 실행할 수 있습니다. 힌트 맨 주셔서 감사합니다, 당신은 내 하루를 만들었습니다 – sanre6

2

http://scala-tools.org/mvnsites/maven-scala-plugin/example_java.html으로 이동하고 첫 번째 테스트에는 직접 pom을 사용하십시오. 에서 스칼라 컴파일을 추가하려면 "ScalaUtils을"

중요한 것은입니다 사용 src/main/java 내부 src/main/scala

  • 자바 클래스 내부

    1. 스칼라 클래스 "ScalaUtils"내가 그것을했을 Java가 컴파일되기 전에 올바른 단계 :

      <execution> 
          <phase>process-resources</phase> 
      
  • +0

    언급 된 링크가 사망했습니다. 새로운 링크? –

    +0

    Ok - 내가 사용하고있는 scala-maven-plugin에 해당하는 링크를 찾았습니다 : http : //davidb.github.I/스케일 받는다는 - 플러그인/example_java.html –

    관련 문제