Ответ 1
Я не думаю, что такой инструмент существует (пока). Текущая ситуация заключается в том, что вы не можете смешивать единицы компиляции, скомпилированные с различными версиями Scala, то есть класс, скомпилированный с Scala 2.9, не будет взаимодействовать с классом, скомпилированным с помощью Scala 2.10.
Когда вы используете Scala 2.10, вы можете использовать Scala отражение и Scala, чтобы достичь аналогичных целей, как при модификации байт-кода. Для меня это выглядит как самый лучший способ доказательства.
Один из вопросов, связанных с добавлением идентификатора серийной версии. Это должно быть возможно с помощью макросов Scala. С макросами Scala он может даже управлять идентификаторами серийной версии во внешней базе данных в соответствии с изменениями API.