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

发布于 2024-12-29 05:17:39 字数 551 浏览 1 评论 0原文

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

I am trying to compile the canonical metamodel classes for some JPA entities using an ant script. I am using OpenJPA. I would like the generated files to be located in a subdirectory which, according to the OpenJPA documentation, I can do by specifying the -s option for javac. The way I am trying to do this right now is like this:

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

However, I keep getting an error that says:

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

If I do:

<compilerarg value="-version"/>

it tells me that I am using 1.6. And if I do:

<compilerarg value="-help"/>

it lists -s as a valid option. Does anybody have any advice on what I can do to accomplish what I'm trying to do? Thank you!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

赢得她心 2025-01-05 05:17:39

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

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

You have two args in there, with a space between them. You just need to separate them:

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

At the moment you're parsing the single arg "-s c:\buildfiles". If you run

ant -verbose

you can verify this - you'll see something like:

  [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.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文