我正在尝试使用ant脚本为一些JPA实体编译规范元模型类。我正在使用OpenJPA。我希望生成的文件位于一个子目录中,根据OpenJPA文档,我可以通过为javac指定-s选项来实现这一点。我现在尝试做这件事的方式是这样的:
<compilerarg value="-s c:buildfiles"/>
然而,我不断收到一个错误,上面写着:
javac: invalid flag: -s
Usage: javac <options> <source files>
如果我这样做:
<compilerarg value="-version"/>
它告诉我正在使用1.6。如果我这样做:
<compilerarg value="-help"/>
它将-s列为有效选项。有人对我能做些什么来完成我想要做的事情有什么建议吗?非常感谢。
您有两个参数,它们之间有一个空格。你只需要把它们分开:
<compilerarg value="-s"/>
<compilerarg value="c:buildfiles"/>
目前,您正在解析单个arg"-s c:\buildfiles"。如果你运行
ant -verbose
你可以验证这一点-你会看到类似的东西:
[javac] Compilation arguments:
[javac] '-classpath'
[javac] ''
[javac] '-sourcepath'
[javac] '/a/b/c'
[javac] '-target'
[javac] '1.5'
[javac] '-g:none'
[javac] '-s c:buildfiles' <-- here is the problem
[javac] '-source'
[javac] '1.5'
[javac]
[javac] The ' characters around the executable and arguments are
[javac] not part of the command.