javaagentで遊んでいたら「java.lang.VerifyError」が起こって、ハマっていたんだけど、まあ何か解決した上に原因っぽい物も発見したので書いておく。

簡単な解決方法は起動オプションに「-XX:-UseSplitVerifier」を追加する。

発生する原因は感なのだけど、ビルドターゲットが違うバージョンのクラスファイルにアクセスすると起こるような気がする。
色々検索してみるけど、具体的な原因を出している人が中々見つからないし、これで解決しないって人もいるみたいだねぇ。
中にはライブラリにアクセスして問題が起きるってパターンがあったので、これはうちと同じパターンなのかもしれない。
一応、ビルドターゲットを合わせたら、ぱったりとエラーが出なくなった。
大体の場合はターゲットのバージョンを下げる事になると思うのだが、新バージョンのコードで書いてしまった場合は修正が必要になるから大変かもしれないな・・・。

カテゴリ/タグ:私の記憶領域 /  ,    
コメント (0)


コメントフォーム(注:投稿内容にURLがある場合、管理者の確認の上で公開する設定になっています)