我正在尝试使用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列为有效选项。对于我能做些什么来完成我想做的事情,有没有人有任何建议?谢谢!
答案 0 :(得分:2)
你有两个两个 args,它们之间有一个空格。你只需将它们分开:
<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.