NetBeans6.9でgroovyファイルが含まれているとテスト実行できない
NetBeans6.9にアップグレードしたのですが、以前まで問題なかったJavaプロジェクトのJUnitテストが実行できなくなりました。エラーメッセージは以下の通り。
nbproject/build-impl.xml:725:
Unknown attributes [apgeneratedsrcdir, processorpath]
ちなみにバグレポートは既に挙がっているようです。Bug185686 - Adding groovy class to Java Project - bad ant file build-impl.xml
Subversionで管理していたプロジェクトでしたので、nbprojectディレクトリ以下をrevertしてアップグレード前に戻してだましだまし使用してきましたが、今回新規プロジェクトを作成したので昔のバージョンに戻すという手段が取れず、根本的な解決を探りました。
nbproject/groovy-build.xmlの中にある-groovy-init-macrodef-javacターゲットの記述が、自動生成されるJava側のAntファイル(nbproject/build-impl.xml)に追従できていないのが問題のようです。
エラーメッセージにある2つのattributeの宣言(これはbuild-imple.xmlの中にもあります)
<attribute default="${javac.processorpath}" name="processorpath"/>
<attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
を、groovy-build.xml中の
<macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
の下あたりに挿入することで、エラーが出なくなりました。(注:この対策が本当に正しいのかどうかは、実のところ自信はありません)
[追記: 現在ではバグレポートに上記のことが書いてあります(どうも巡り巡ってこのエントリが英語文章化されたみたいなので、やっぱりこの回避策で良いのかは確信が持てませんが)。]
余談ですが、groovyで記述したテストケースをNetBeansで実行するには、Running Groovy tests in NetBeans 6.7.1というエントリが参考になります。
最近のコメント