marathon-example-plugins
marathon-example-plugins copied to clipboard
Plugins failed on Marathon 1.3.1
When I try to run marathon 1.3.1 with this plugin, it always gave the error of not being able to find the method of play.api.libs.json.JsLookup
.
[2016-10-07 09:50:02,240] ERROR Terminating due to uncaught exception in thread main:1 (mesosphere.marathon.Main$:main)
com.google.inject.CreationException: Guice creation errors:
1) Error injecting constructor, java.lang.NoSuchMethodError: play.api.libs.json.JsLookup$.$bslash$extension(Lplay/api/libs/json/JsLookupResult
;Ljava/lang/String;)Lplay/api/libs/json/JsLookupResult;
at mesosphere.marathon.core.CoreModuleImpl.<init>(CoreModuleImpl.scala:46)
while locating mesosphere.marathon.core.CoreModuleImpl
at mesosphere.marathon.core.CoreGuiceModule.configure(CoreGuiceModule.scala:144)
while locating mesosphere.marathon.core.CoreModule
at mesosphere.marathon.core.CoreGuiceModule.taskTracker(CoreGuiceModule.scala:46)
at mesosphere.marathon.core.CoreGuiceModule.taskTracker(CoreGuiceModule.scala:46)
while locating mesosphere.marathon.core.task.tracker.TaskTracker
for parameter 2 at mesosphere.marathon.core.task.update.impl.TaskStatusUpdateProcessorImpl.<init>(TaskStatusUpdateProcessorImpl.scala:27)
while locating mesosphere.marathon.core.task.update.impl.TaskStatusUpdateProcessorImpl
at mesosphere.marathon.core.CoreGuiceModule.configure(CoreGuiceModule.scala:147)
while locating mesosphere.marathon.core.task.update.TaskStatusUpdateProcessor annotated with @com.google.inject.name.Named(value=ThrottlingT
askStatusUpdateProcessor)
Caused by: java.lang.NoSuchMethodError: play.api.libs.json.JsLookup$.$bslash$extension(Lplay/api/libs/json/JsLookupResult;Ljava/lang/String;)L
play/api/libs/json/JsLookupResult;
at mesosphere.marathon.example.plugin.auth.ExampleAuthenticator.initialize(ExampleAuthenticator.scala:48)
at mesosphere.marathon.core.plugin.impl.PluginManagerImpl.mesosphere$marathon$core$plugin$impl$PluginManagerImpl$$configure$1(PluginMa
nagerImpl.scala:39)
However, the compiled plugin jar indeed contains the method:
$jar -tf /var/marathon/plugins/marathon_plugin.jar | grep "play/api/libs/json/JsLookupResult"
play/api/libs/json/JsLookupResult$$anonfun$getOrElse$1.class
play/api/libs/json/JsLookupResult$.class
play/api/libs/json/JsLookupResult$class.class
play/api/libs/json/JsLookupResult.class
I have tried many versions of play-json from 2.4.1 to 2.5.8. It won't work.
Any ideas?
@simonandluna Try the fix provided by https://github.com/mesosphere/marathon-example-plugins/pull/15