1

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

4

1 回答 1

2

你有两个参数,它们之间有一个空格。您只需要将它们分开:

<compilerarg value="-s"/>
<compilerarg value="c:\buildfiles"/>

目前您正在解析单个参数“-sc:\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.
于 2012-01-28T00:32:57.587 回答