2020年12月4日金曜日

JDK8と11の非互換

 仕事などでは古いJava環境を使っている場合もあり、そんななか、JDK11で8互換でビルドしてJDK8で動かないものがあったのでメモ

 NoSuchMethodError が

java.lang.NoSuchMethodError: java.nio.ByteBuffer.xxxx
と発生。
BufferとByteBufferは実装が変わっているようで、実装されている部分が何かで互換性がなくなっているっぽい。 
コードは互換になるがライブラリまでは見てくれないというJDKの罠はよくある。今回もそんなもののひとつか。
 詳細はこっちかな
 https://stackoverflow.com/questions/61267495/exception-in-thread-main-java-lang-nosuchmethoderror-java-nio-bytebuffer-flip

GitHub に Mavenリポジトリ公開してみたら失敗した

 GitHub PackagesでMavenリポジトリ?がつかえるようになっていたということで挑戦していたが、しばらくいろいろと不明でつかえなかった。 今回 GitHub Actions は使わない。非公式の方法も使わない。 https://docs.github.com/ja/...