Play! Play를 사용하는 프레임 워크 응용 프로그램! 2.2.1, sbt 0.13.0이고 스칼라의 로컬 버전은 2.10.3입니다.어떻게 scala-library.jar의 버그를 수정합니까?
동료가이 프로젝트에서 작업 할 때 상속 한 특정 파일을 비 직렬화 할 때 serialVersionUID 문제가 발생했습니다.이 일련화된 파일을 만든 사람은 누구인지 알지 못합니다.
https://issues.scala-lang.org/browse/SI-5046
: 내 오류 메시지가 많은 검색 후 재생! :Caused by: java.io.InvalidClassException: scala.collection.mutable.WrappedArray$ofRef; local class incompatible: stream classdesc serialVersionUID = 8184381945838716286, local class serialVersionUID = -8707880168089396949
에 구축 할 때, 나는 버그 SI-5046를 해결하도록되어이 패치를 발견
2.10.x 용 github에서 scala 소스 코드를 다운로드하고 여기에 WrappedArray.scala에 패치를 적용했습니다. scala/src/library/scala/collection/mutable/WrappedArray.scala
수정 된 소스 코드로 플레이에서 사용할 수 있도록해야합니까? 신청?
* 수정 # 1 : 지금은 다른 비록
은 내가 플레이를 컴파일 할 때나는 여전히 WrappedArray $ ofRef에 대한 오류 메시지를 받고 있어요 @Alexey 로마노프에서 링크를 따라 에러 메시지. 다음은 내가 무슨 짓을했는지 :
ant build
ant partialdist
을 다음 플레이에 :
나는 사용하여 개미를 사용하여 스칼라 분포를 재건!
scalaVersion := "2.10.3"
autoScalaLibrary := false
scalaHome := Some(file("/path_to_my_rebuilt_scala_distribution"))
지금 내 오류 메시지는 다음과 같습니다 :
Caused by: java.io.InvalidClassException: scala.collection.mutable.WrappedArray$ofRef; incompatible types for field bitmap$0
나는 내 Build.scala 파일에 다음을 추가하여 SBT 및 플러그인에 사용할 스칼라 버전을 지정 편집 # 2 :
저는 스칼라 버전을 내려 가고 있습니다. 2.9.2로 내려 갔을 때, WrappedArray $ ofRef에 대한 오류는 패치를 적용하여 수정되었습니다. 지금은 다른 클래스의 또 다른 직렬화 오류가 점점 오전 : 나는 스칼라 2.9.1 아래로 이동하고 내가 그 버전으로 파일의 내용을 얻을 수 있는지 확인합니다
java.io.InvalidClassException: scala.Symbol; local class incompatible: stream classdesc serialVersionUID = -3681772905693662441, local class serialVersionUID = 7747205442425187939
.
* 수정 # 3 : java.io.InvalidClassException: scala.Tuple2; local class incompatible: stream classdesc serialVersionUID = 3990034604647285925, local class serialVersionUID = 5867822941721784448
아니 생각 아래 계속 ... 다음 시도하는 무엇을 : 스칼라 버전 2.9.1-1에서
, 나는 다른 직렬화 오류 스칼라 버전 또는 다른 제안 사항이 있습니까?
'ant'를 실행하여 스칼라 바이너리를 빌드 해 보았습니까? (http://docs.scala-lang.org/scala/) – Miichi
지금 개미로 재건 중입니다. 이 새로운 빌드를 인식하려면 어떻게해야합니까? – Hal