Простой пример ScalaXB вызывает NoSuchMethodError в Dispatch

Я новичок в Scala, и я пробовал пример со ScalaXB.

Я использую IntelliJ IDEA и последнюю версию Scala 2.10.1.

ScalaXB использует Dispatch, поэтому я добавил это (версия 0.9.5) в качестве зависимости от проекта. Мне также пришлось добавить в качестве зависимости slf4j-nop:1.6.2. Итак, потом все скомпилировано, но исключение продолжает появляться:

Exception in thread "main" java.lang.NoSuchMethodError: scala.util.control.Exception$Catch.either(Lscala/Function0;)Lscala/Either;
at dispatch.Promise$class.result(promise.scala:64)
at dispatch.ListenableFuturePromise.result(promise.scala:223)
at dispatch.Promise$class.apply(promise.scala:75)
at dispatch.ListenableFuturePromise.apply(promise.scala:223)
at scalaxb.DispatchHttpClients$DispatchHttpClient$class.request(httpclients_dispatch.scala:12)
at scalaxb.DispatchHttpClients$$anon$1.request(httpclients_dispatch.scala:4)
at scalaxb.SoapClients$SoapClient$class.soapRequest(soap12.scala:32)
at scalaxb.SoapClients$$anon$1.soapRequest(soap12.scala:14)
at scalaxb.SoapClients$SoapClient$class.requestResponse(soap12.scala:51)
at scalaxb.SoapClients$$anon$1.requestResponse(soap12.scala:14)
at eu.getintheloop.sample.XMLProtocol$WeatherSoap12Bindings$WeatherSoap12Binding$class.getWeather(xmlprotocol.scala:53)
at eu.getintheloop.sample.XMLProtocol$WeatherSoap12Bindings$$anon$3.getWeather(xmlprotocol.scala:48)
at eu.getintheloop.sample.main$.main(main.scala:20)
at eu.getintheloop.sample.main.main(main.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)

Строка кода:

protected lazy val result = allCatch.either { claim }

Это выглядит довольно странно, потому что "заявление" выглядит очень хорошим объектом java.lang.String:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetWeatherResponse xmlns="http://litwinconsulting.com/webservices/">
<GetWeatherResult>Sunny</GetWeatherResult>
</GetWeatherResponse>
</soap:Body>
</soap:Envelope>

Есть идеи, что пошло не так?

1 ответ

Решение

Когда у тебя есть java.lang.NoSuchMethodError Что касается стандартной библиотеки Scala, я предполагаю, что где-то в настройках IntelliJ или sbt вы используете не-2.10.1 компилятор или библиотеку Scala.

Изменить: Для отправки, пожалуйста, смотрите мой ответ для правильной версии MVN для dispatch.databinder.net. Вы не должны строить это самостоятельно.

Другие вопросы по тегам