【问题标题】:Run ant script from jar file从 jar 文件运行 ant 脚本
【发布时间】:2013-03-09 11:51:48
【问题描述】:

是否可以从 jar 文件中运行 ant 脚本?

目前,我有一个 build.xml,它调用 jar 文件中的一些 java 代码。然后它会做一些进一步的蚂蚁处理。

当我从 Eclipse 导出 jar 文件时,我可以选择将 build.xml 文件添加到 jar 中,所以我想知道是否可以以某种方式直接从 jar 中运行 ant 脚本,这样我只需要给出人是 jar 文件,而不是 ant 脚本。

【问题讨论】:

    标签: java ant


    【解决方案1】:

    答案是循环的。您是否尝试添加 build.xml 以将 A.jar 执行到 A.jar 本身中?如果是这样,您希望使用 build.xml 中提到的参数执行 jar。如果是这种情况,您不妨编写一个使用这些特定参数集运行的 main 方法。

    在任何情况下,总有一种方法可以使用一些参数来运行您的 jar,而无需 build.xml 即可完成。

    如果你真的需要通过 ant 来做到这一点, 用这个 Starting a process in Java?

    更新:

    在 stackoverflow 中查看此链接。 -> Run ant from Java

    我没有亲自尝试过,但这是一种方法,只要您注意问题的循环性质

    【讨论】:

    • 我需要做的是让用户为进程提供一个 ant 属性文件的位置,并让该文件确定传递给 java 进程的参数。一旦该 java 进程完成,ant 脚本就会进行更多处理。
    • 所以,我假设一个 B.jar 接受 ant“构建”文件的位置并执行一个特定的目标,该目标又使用一些参数执行 A.jar 的 Main 方法并执行一些额外的操作加工。如果是这种情况,这与直接使用 ant 命令本身而不是 B.jar 没有什么不同。但是由于某些原因您不想分发 build.xml,您希望它成为 B.jar 的一部分,可以使用 jar 命令执行。这是你的场景吗?
    • 不,一个 jar,其中包含 ant 构建文件。我希望用户能够从该 jar 文件运行 ant 脚本。
    • 那么你可以使用我上面粘贴的链接来实现你的目标。有一个从 java 中运行 Ant 任务的主类,并将嵌入的 build.xml 作为资源提供给它。您将不得不尝试一下 buid.xml ant.apache.org/manual/running.html 的 url
    猜你喜欢
    • 2020-09-14
    • 1970-01-01
    • 1970-01-01
    • 2014-06-24
    • 1970-01-01
    • 2010-12-08
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多