我尝试使用Play4的Twitter4J库!在dependencies.yml中使用以下依赖项的框架:
require:
- org.twitter4j -> twitter4j-core [2.2,)
之后我让Play!框架使用以下命令解析依赖项:
play dependencies --sync
播放!框架告诉我一些依赖已经被驱逐:
slf4j-api 1.5.8 is overriden by slf4j-api 1.6.1
作为slf4j-api的更高版本,我尝试运行该应用程序:
play run
但遗憾的是我收到以下错误消息:
16:19:47,208 ERROR ~ Oops. Error in Logger !
java.lang.NoSuchMethodError: org.apache.log4j.Logger.trace(Ljava/lang/Object;)V
at play.Logger.trace(Logger.java:200)
at play.Play.init(Play.java:221)
at play.server.Server.main(Server.java:158)
有没有人认识到这个问题/知道如何解决或解决这个依赖性问题?
谢谢!
答案 0 :(得分:2)
我不太确定问题出在slf4j上。 跟踪方法已添加到Log4J 1.2.12。很可能对项目的一些依赖是在类路径中添加一个旧的Log4J,它比该版本旧,并且没有 trace 方法。
检查lib文件夹中的jar以及所有依赖项。
答案 1 :(得分:0)
一种解决方案可能是强制使用特定版本的必需库。对于您的情况,它看起来像:
- slf4j-api 1.5.8:
force: true