Как мне сослаться на флаг -s для javac в скрипте ant? - PullRequest
1 голос
/ 28 января 2012

Я пытаюсь скомпилировать канонические классы метамодели для некоторых объектов JPA, используя скрипт ant. Я использую OpenJPA. Я хотел бы, чтобы сгенерированные файлы были расположены в подкаталоге, что, согласно документации OpenJPA, я могу сделать, указав опцию -s для javac. То, как я пытаюсь сделать это прямо сейчас, выглядит так:

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

Тем не менее, я получаю сообщение об ошибке:

javac: invalid flag: -s 
Usage: javac <options> <source files>

Если я это сделаю:

<compilerarg value="-version"/>

это говорит мне, что я использую 1.6. И если я сделаю:

<compilerarg value="-help"/>

перечисляет -s как допустимый параметр. Кто-нибудь есть какие-либо советы о том, что я могу сделать, чтобы выполнить то, что я пытаюсь сделать? Спасибо!

1 Ответ

2 голосов
/ 28 января 2012

У вас есть два аргумента с пробелом между ними. Вам просто нужно отделить их:

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

В данный момент вы анализируете один аргумент "-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.
...