This static method of interface XXX can only be accessed as XXXというような例外メッセージになる。
例えば、XXXインターフェースにyyyメソッドがあり、それをJSPでXXX.yyyと呼び出した場合。
その通りやってんだろうがよ!と怒りたくなる。つうか腹たつなもう。
解決策は、Tomcatのweb.xml、
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>fork</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>xpoweredBy</param-name>
<param-value>false</param-value>
</init-param>
<!-- こっから -->
<init-param>
<param-name>compilerSourceVM</param-name>
<param-value>1.8</param-value>
</init-param>
<init-param>
<param-name>compilerTargetVM</param-name>
<param-value>1.8</param-value>
</init-param>
<!-- ここまで -->
<load-on-startup>3</load-on-startup>
</servlet>
「こっからここまで」を足したら直った。けど、今までEclipse上のTomcatでは1.7の指定で(JREは1.8だった)大丈夫だったのが解せない。1.7の指定が効いていなかったワケではなく、ちゃんとラムダとかはコンパイルエラーになってたのに。なんなんだ。
参考:
http://stackoverflow.com/questions/25360127/intstream-strange-error