java ant build.xml_在Jar文件中运行ANT build.xml文件

我认为这是不可能的 . ProjectHelper#parse方法的API表明Project Helper可以支持任何类型的源,包括 InputStream

source - XML配置的源代码 . 为了向后兼容,帮助程序必须至少支持File . 助手可能支持URL,InputStream等或特殊类型 .

运行修改后的代码示例

String buildXml = "build.xml";

Project p = new Project();

p.setUserProperty("ant.file", buildXml);

p.init();

ProjectHelper helper = ProjectHelper.getProjectHelper();

p.addReference("ant.projectHelper", helper);

InputStream inputStream = new FileInputStream(buildXml);

helper.parse(p, inputStream);

p.executeTarget(p.getDefaultTarget());

给出以下例外:

Exception in thread "main"

Source java.io.FileInputStream not supported by this plugin

at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:233)

at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:177)

at ant.test.App.main(App.java:28)

不幸的是,在查看了最新的apache ant版本的源代码(发布时间为1.9.4)后,内置 ProjectHelper 实现仅支持

java.io.File

java.net.URL

org.apache.tools.ant.types.Resource

即使 InputStream 后来创建了几行:/

The apache ant manual建议可以实现自己的 ProjectHelper 并配置ant以使用系统属性 org.apache.tools.ant.ProjectHelper 来使用它 .

org.apache.tools.ant.ProjectHelper类是期望实现的API . 因此,通过扩展该抽象类来编写自己的ProjectHelper .

但是,所有需要实现的方法似乎只适用于 java.io.File 或 java.net.URL .

所以我认为你最好的选择是从jar中提取 build.xml (如我的评论所示)并对其进行反对 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值