如何在ant脚本中引用javac的-s标志?

时间:2012-01-28 00:05:37

标签: ant javac openjpa metamodel

我正在尝试使用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列为有效选项。对于我能做些什么来完成我想做的事情,有没有人有任何建议?谢谢!

1 个答案:

答案 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.