4. eviction warnings
sbt compile 時にこういう warning が出たら…
sbt 0.13.6 以降の eviction warning
同じライブラリの複数バージョンへの依存が見つかった
ので、sbt が推論によりどちらかを追い出し(eviction)した
よという warning
何もしなくてもコンパイルできた!やったね!
(解決したとは言ってない)
[warn] There may be incompatibilities among your library dependencies.
[warn] Here are some of the libraries that were evicted:
[warn] * com.typesafe.play:twirl-api_2.11:1.0.2 -> 1.1.1
[warn] Run 'evicted' to see detailed eviction warnings
10. GCP for Java 入りの Play 2.5 アプリ
アクセス時に上記のような実行時例外が出る
Play2.5は最新のNettyなのに対し、GCP for Java(が依存してい
るgrpc)が古いNettyに依存してるからっぽい
(2016/11/2修正)正しくはplay2.5がNetty4.0系で、GCP4J(が依存してい
るgrpc)がNetty4.1系に依存していました。(Playの方が古い)
似た事例はあるっぽいがよくわかりませんでした
http://stackoverflow.com/questions/35827782/conflict-between-play-framework-2-5-and-grpc-0-13
結局、Playを2.4系にダウングレードして(一時的)解決
[error] p.c.s.n.PlayRequestHandler - Exception caught in Netty
java.lang.AbstractMethodError: null
at io.netty.util.ReferenceCountUtil.touch(ReferenceCountUtil.java:73)
at io.netty.channel.DefaultChannelPipeline.touch(DefaultChannelPipeline.java:107)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:331
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:326)
at com.typesafe.netty.http.HttpStreamsHandler.channelRead(HttpStreamsHandler.java:129)
at com.typesafe.netty.http.HttpStreamsServerHandler.channelRead(HttpStreamsServerHandler.java:96)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:334
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:326)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)