java.lang.NoSuchMethodError при запуске кода из внешнего .jar - PullRequest
0 голосов
/ 15 марта 2019

У меня есть фрагмент кода, который выдает java.lang.NoSuchMethodError во время выполнения, который я не могу разрешить:

 private def saveActivationEvent(event: ActivationEvent) = activationEventService.createIfFirst(event)

Реализация:

case class ActivationEvent extends Event 

class ActivationEventService extends AbstractEventService[ActivationEvent]

abstract class AbstractExalateEventService[E <: Event] {
 def createIfFirst(event: E)(implicit reader: BSONDocumentReader[E], writer: BSONDocumentWriter[E]): Future[Option[BSONObjectID]] = ...
}

Я думал, что это происходит из-за стирания типа ... Может ли кто-нибудь помочь мне понять проблему?

1 Ответ

1 голос
/ 15 марта 2019

Как я уже упоминал в комментарии выше, каждый раз, когда вы видите NoSuchMethodError, первое, что вы должны проверить, - это совпадение версий зависимостей компиляции и среды выполнения. Что бы это ни стоило, я не могу придумать, каким образом стирание типов может иметь какое-либо отношение к NoSuchMethodError - вы можете увидеть ClassCastException, если у кого-то есть тест с плохим типом, который соответствует из-за стирания, но даже в этом если проблема на самом деле не в стирании, а в том, что кто-то пытается обойти это (и проигнорировал предупреждения компилятора).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...