Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 在Play应用程序中使用Gephi_Scala_Playframework_Playframework 2.0_Sbt_Gephi - Fatal编程技术网

Scala 在Play应用程序中使用Gephi

Scala 在Play应用程序中使用Gephi,scala,playframework,playframework-2.0,sbt,gephi,Scala,Playframework,Playframework 2.0,Sbt,Gephi,我目前正在用Scala构建一个Play框架应用程序,需要使用Gephi Java库 我尝试在SBT中将Gephi添加为托管依赖项,但SBT无法解析Gephi的所有依赖项。这是一个很好的例子。然后,我只是尝试将整个Gephi JAR作为非托管依赖项添加到我的lib/文件夹中。IntelliJ可以很好地检测库,我可以很好地编译我的应用程序。问题是,启动应用程序后立即出现异常,这似乎与依赖项注入有关: play.api.UnexpectedException: Unexpected excep

我目前正在用Scala构建一个Play框架应用程序,需要使用Gephi Java库

我尝试在SBT中将Gephi添加为托管依赖项,但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)
play.api.UnexpectedException:意外异常[NoSuchMethodError:com.google.common.base.Objects.firstNonNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;]
在play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1$$anonfun$1.apply(DevServerStart.scala:174)
在play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1$$anonfun$1.apply(DevServerStart.scala:126)
在scala.Option.map处(Option.scala:146)
在play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1.apply(DevServerStart.scala:126)
在play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1.apply(DevServerStart.scala:124)
在scala.util.Success.flatMap(Try.scala:231)
在play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1.apply(DevServerStart.scala:124)
在play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1.apply(DevServerStart.scala:116)
在scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24)
在scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24)
原因:java.lang.NoSuchMethodError:com.google.common.base.Objects.firstNonNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
位于com.google.common.cache.CacheBuilder.getKeyStrength(CacheBuilder.java:529)
位于com.google.common.cache.LocalCache.(LocalCache.java:242)
在com.google.common.cache.LocalCache$LocalManualCache.(LocalCache.java:4718)
位于com.google.common.cache.CacheBuilder.build(CacheBuilder.java:807)
位于com.google.inject.internal.WeakKeySet.(WeakKeySet.java:55)
位于com.google.inject.internal.InheritingState.(InheritingState.java:67)
位于com.google.inject.internal.InjectorShell$Builder.getState(InjectorShell.java:209)
位于com.google.inject.internal.InjectorShell$Builder.lock(InjectorShell.java:115)
在com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:103)上
位于com.google.inject.Guice.createInjector(Guice.java:96)
我试图在代码中删除所有关于Gephi的内容,而JAR仍然位于我的
lib/
文件夹中,但结果是相同的异常


Gephi对于这个项目来说非常重要,所以我不能直接转到另一个库。有什么想法吗?

移除jar fom
lib
,添加这两个额外的解析器(在
build.sbt
中)


然后运行激活器更新,移除jar fom
lib
,添加这两个额外的解析器(在
build.sbt


然后运行
activator update

do
activator clean compile run
我已经试过了,但不幸的是没有任何效果:/问题是因为您使用的是come缓存。。查看完整的堆栈跟踪如果我在代码中没有引用Gephi的任何部分而使用最小播放应用程序,也会出现此问题。除“activator clean”清理的内容外,是否还有任何sbt缓存。请同时从
lib
中删除Gephi代码,然后尝试编译到
activator clean编译运行
我已经尝试过了,但不幸的是没有任何效果:/问题是因为您正在使用的come缓存。。查看完整的堆栈跟踪如果我在代码中没有引用Gephi的任何部分而使用最小播放应用程序,也会出现此问题。除“activator clean”清理的内容外,是否还有任何sbt缓存。同时从
lib
中删除Gephi代码,然后尝试编译Ethanks,现在构建工作正常,但由于某些原因,我无法访问
Gephi toolkit
的某些类。例如,
org.gephi.graph.api.GraphController
不存在,即使我可以从同一个包中访问其他类,例如
org.gephi.graph.api.Node
,这难道不是IDE配置中的一个问题吗(如果您添加了
org.gephi.graph.api.GraphController
的导入并进行编译,它会工作吗?)?如果是这样的话,最好问另一个问题,因为这与原始问题没有多大关系。不幸的是,不,它不使用添加的导入进行编译,即使我在CLI中使用sbt在IntelliJ外部编译时也是如此。我打开来解决我的问题,现在结束这个问题,因为您的答案足以解决构建问题。谢谢谢谢,现在构建工作正常,但由于某些原因,我无法访问
gephitoolkit
的某些类。例如,
org.gephi.graph.api.GraphController
不存在,即使我可以从同一个包中访问其他类,例如
org.gephi.graph.api.Node
,这难道不是IDE配置中的一个问题吗(如果您添加了
org.gephi.graph.api.GraphController
的导入并进行编译,它会工作吗?)?如果是这样的话,最好问另一个问题,因为这与原始问题没有多大关系。不幸的是,不,它不使用添加的导入进行编译,即使我在CLI中使用sbt在IntelliJ外部编译时也是如此。我打开来解决我的问题,现在结束这个问题,因为您的答案足以解决构建问题。谢谢
resolvers += "NetBeans" at "http://bits.netbeans.org/nexus/content/groups/netbeans/"

resolvers += "gephi" at "https://raw.github.com/gephi/gephi/mvn-thirdparty-repo/"