2014-01-25 2 views
4

종속성 나는 GIT를 통해로드 자바 의존성 컴파일 문제가 오전 :설정 javac의 옵션

object ApplicationBuild extends Build { 
    lazy val project = Project("root", file(".")).dependsOn(RootProject(riakJavaClient)) 

    lazy val riakJavaClient = uri("git://github.com/basho/riak-java-client") 
} 

내가 sbt compile에서 수신하고 오류는 다음과 같습니다

[info] Compiling 134 Java sources to /Users/lawrencewagerfield/.sbt/0.13/staging/da0e66c4764a467c8977/riak-java-client/target/scala-2.10/classes... 
[error] /Users/lawrencewagerfield/.sbt/0.13/staging/da0e66c4764a467c8977/riak-java-client/src/main/java/com/basho/riak/client/cap/Quorum.java:22: error: unmappable character for encoding ASCII 
[error] * Riak 0.12 introduced ???symbolic??? consistency options for R and W 

SBT는 javac을 실행하는 것을 이 종속성의 소스 파일과 호환되지 않는 인코딩을 사용합니다.

javacOptions ++= Seq("-encoding", "UTF-16") // Note: I have tried with UTF-8 too 

위의 단지 내 프로젝트 내 소스 파일에 적용됩니까 :

가 나는 build.sbt에 다음하지만 아무 효과가 없습니다 추가 (오류 것은 동일) 시도? 이 문제를 어떻게 해결할 수 있습니까?


TL; DR는 어떻게 자바 올바른 인코딩을 컴파일 의존성을받을 수 있나요?

답변

10

설정이 프로젝트의 소스 파일에만 적용된다는 것이 맞습니다. 범위의 프로젝트 부분이 지정되지 않은 경우, 이는 일반적으로 프로젝트를 둘러싸는 범위로 지정됩니다. 설정을 다른 프로젝트에 적용하려면 해당 프로젝트에 범위를 지정하십시오. 예를 들어,

javacOptions in riakJavaClient ++= Seq("-encoding", "UTF-8") 

당신은 당신의 옵션을 last로 사용되는 것을 확인할 수 있습니다. (자세한 내용은 help project 참조) 예를 들어,

sbt> last compile 

는 자식에서 프로젝트에 위의 같은 명령을 실행하려면 project을 사용으로 변경합니다.

+0

찬란한, 고마워! –