我有一个使用 Maven 构建的 Java 项目。我想向“javac”命令行添加选项——特别是,我想传递一些“-J”选项。
所以通常我会做这样的事情:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<compilerArgument>-J-Xdebug</compilerArgument>
<compilerArgument>-J-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005</compilerArgument>
</configuration>
</plugin>
但是,当我尝试这个时,我得到了以下形式的错误:
[ERROR] Failure executing javac, but could not parse the error:
javac: invalid flag: -J-Xdebug
Usage: javac <options> <source files>
use -help for a list of possible options
经过仔细调查,似乎 maven-compiler-plugin 将所有编译器参数写入选项文件,并像“javac @optionfile”一样调用 javac。根据http://docs.oracle.com/javase/6/docs/technotes/tools/solaris/javac.html上的 javac 官方文档:
@argfiles 一个或多个列出选项和源文件的文件。这些文件中不允许使用 -J 选项。
所以看起来 maven-compiler-plugin 中的选项不起作用 - 它想使用 arg 文件,arg 文件不能包含我想要的选项。
我也看到了一些使用地图的建议——但是当我尝试它时,结果相似。
还有其他选择吗?