В настоящее время я создаю приложение Play Framework на Scala, для которого требуется использование библиотеки Gephi Java.
Я попытался добавить Gephi в качестве управляемой зависимости в SBT, но SBT не может разрешить все зависимости Gephi. Это известная проблема. Затем я просто попытался добавить весь Gephi JAR в свою папку lib/
в качестве неуправляемой зависимости. IntelliJ отлично обнаруживает библиотеку, и я могу отлично скомпилировать свое приложение. Проблема заключается в том, что исключение возникает сразу после запуска приложения и, похоже, связано с внедрением зависимостей:
play.api.UnexpectedException: Unexpected exception[NoSuchMethodError: com.google.common.base.Objects.firstNonNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;]
at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1$$anonfun$1.apply(DevServerStart.scala:174)
at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1$$anonfun$1.apply(DevServerStart.scala:126)
at scala.Option.map(Option.scala:146)
at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1.apply(DevServerStart.scala:126)
at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1.apply(DevServerStart.scala:124)
at scala.util.Success.flatMap(Try.scala:231)
at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1.apply(DevServerStart.scala:124)
at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1.apply(DevServerStart.scala:116)
at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24)
at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24)
Caused by: java.lang.NoSuchMethodError: com.google.common.base.Objects.firstNonNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
at com.google.common.cache.CacheBuilder.getKeyStrength(CacheBuilder.java:529)
at com.google.common.cache.LocalCache.<init>(LocalCache.java:242)
at com.google.common.cache.LocalCache$LocalManualCache.<init>(LocalCache.java:4718)
at com.google.common.cache.CacheBuilder.build(CacheBuilder.java:807)
at com.google.inject.internal.WeakKeySet.<init>(WeakKeySet.java:55)
at com.google.inject.internal.InheritingState.<init>(InheritingState.java:67)
at com.google.inject.internal.InjectorShell$Builder.getState(InjectorShell.java:209)
at com.google.inject.internal.InjectorShell$Builder.lock(InjectorShell.java:115)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:103)
at com.google.inject.Guice.createInjector(Guice.java:96)
Я попытался удалить все упоминания о Gephi в коде, оставив JAR в моей папке lib/
, но это приводит к тому же исключению.
Gephi действительно важен для этого проекта, поэтому я не могу просто перейти к другой библиотеке. Есть идеи?
lib
, а затем попробуйте скомпилировать - person pamu   schedule 25.09.2016