Maven2.2.0は複数の-Aオプションに対応していない
javacでAnnotation Processroにオプションを渡す場合-Aが使えるのですが、Mavenではオプションが複数ある場合に対応できていない、という話。
Antではこう書けます。
<javac fork="yes" srcdir="${src}" compiler="javac1.6" classpathref="classpath" destdir="${build}" debug="on" encoding="UTF-8" > <compilerarg line="-Adto.generation=true -Adto.package=hoge.dto"/> </javac>
dto.generation=true というkey/valueのペアと dto.package=hoge.dto というkey/valueのペアの2つがわたされるのです。
しかし、Mavenだと、複数ではなく1つのオプションだとみなされてします。
<plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.6</source> <target>1.6</target> <encoding>UTF-8</encoding> <compilerArgument>-Adto.generation=true -Adto.package=hoge.dto</compilerArgument> </configuration> </plugin>
「dto.generation」というkeyのvalueが「true -Adto.package=hoge.dto」だとみなされてしまうのです。。。
もうちょっと調べてみて、報告しよう。
この辺ぽい。主要なクラス。
plexus-compilerのサイト