バイトコード検証の不具合がJDK 7u72/8u25で修正された
JDK 7u65/8u11以降にはバイトコード検証の不具合 JDK-8051012 があり、Groovyなどの処理系に影響があるという記事を書きましたが、最近リリースされたJDK 7u72/8u25で修正されたようです。
JDK-8051012 への対応状況を以下にまとめました。○は動く、×は動かないという意味です。
- 7u60 ○
- 7u65 ×
- 7u67 ×
- 7u71 × (Java™ SE Development Kit 7 Update 71 Bug Fixes)
- 7u72 ○ (Java™ SE Development Kit 7 Update 72 Bug Fixes)
- 8u5 ○
- 8u11 ×
- 8u20 ×
- 8u25 ○ (Java™ SE Development Kit 8 Update 25 Bug Fixes)
なお、×が付いているバージョンでもJVM引数に-noverify
を渡すというワークアラウンドで本不具合に対応できます。
Travis CIのJDKはまだ7u60/8u5のようですが、そのうち更新されると思います。
本不具合に対応するバージョンが正式にリリースされたことで、GradleプラグインやGroovyライブラリを公開している人はやっと安心できるのではないかと思います。