Java11でモジュールが取り入れられ16で強制される事で生まれるこのエクセプション。
JAXBの実装を入れ替えて撲滅した筈のこいつが再び発生。
java.lang.NullPointerException: Cannot invoke "java.lang.reflect.Method.invoke(Object, Object[])" because com.sun.xml.bind.v2.runtime.reflect.opt.Injector.defineClass" is null
理由はActiveMQのjarに同梱されている古いJAXBの実装が先に参照されるから。まだActiveMQと直接通信しているコードが残っているのでコンパイル時には必要だけれど実行時には不要なのでlibディレクトリからActiveMQのjarを削除することで一応は解決する。
本当はActiveMQをArtemisにしてJava 11~に対応させるのが正しいのだけれど、まぁ差し当たりはbuild.xmlに上記jarを削除する処理を入れるのが手軽というか既に入っていた。何故今回また混入したのか。別のbuild.xmlでやっているのか。