NetBeansのMavenプロジェクトでデバッガ(jdwp)が使えなくなった場合の対処
はまったけど、いちおう解決することが出来たらしいので書いておく。
結論から言うと、maven-surfire-pluginのバージョン2.3から2.5に上げるだけ。
デバッガの接続に失敗した際に表示されるエラーメッセージは次の通り。
Have no FileObject for C:\Program Files\Java\jdk1.6.0_18\jre\lib\sunrsasign.jar
Have no FileObject for C:\Program Files\Java\jdk1.6.0_18\jre\classes
Error occurred during initialization of VM
agent library failed to init: jdwp
ERROR: Cannot load this JVM TI agent twice, check your java command line for duplicate jdwp options.
Java Result: 1
debug-test:
構築成功 (合計時間: 0 秒)
現象的には、Bug 166968 – Debugger throws error on startup: Cannot load this JVM TI agent twiceと同じだと思われる。
発生を確認した条件はつぎのとおり
- Mavenプロジェクト
- maven-surefire-pluginのバージョンが2.3
- jdaveのサンプルpom.xmlをそのまま使った場合こうなる。
- テストパッケージ以下に存在するJUnitテストクラスのデバッグ(CTRL-SHIFT-F6)が出来ない。
- その他の環境条件は次の通り
で、プロジェクトのpom.xmlにあるmaven-surefire-pluginのバージョンを「2.3」から「2.5」に上げたら解決した。
NetBeansをアンインストールしたりするなど試行錯誤して、対処方法を見つけることが出来たのは本当に偶然だった。