【问题标题】:opening a file inside the jar打开 jar 中的文件
【发布时间】:2011-11-04 11:06:43
【问题描述】:

我有一个 ant 脚本,它可以做很多事情,但我被要求提供 jar 以便它可以作为应用程序运行。

我已经设法编写了 java 代码来以编程方式调用 ant,但是我在从代码中引用构建文件时遇到了问题。

文件 buildFile = new File(BUILD_FILE);

BUILD_File 是我的 build.xml(存在于主目录中)。

当我将我的项目导出为 Runnable jar 时,它会引发异常(找不到文件 build.xml)

即使我将 build.xml 文件添加到 jar 中,它仍然会抱怨,但如果我将 build.xml 文件放在 jar 所在的同一文件夹中,那么它可以正常工作。 (但我不想这样做)

谁能指导我如何确保当我导出为 jar 时 build.xml 文件已添加到 jar 中,以及如何在我的代码中引用该文件(在 jar 中)。

【问题讨论】:

    标签: file build jar


    【解决方案1】:

    JVM 中运行的任何对象都可以为 JAR 中的任何资源/文件获取 InputStream,如下所示:

    InputStream is = this.getClass().getResourceAsStream("yourpackage/yourfile.xml");
    

    在您的情况下,听起来 build.xml 不在包中,因此您应该可以使用:

    InputStream is =  this.getClass().getResourceAsStream("build.xml");
    

    【讨论】:

    • 好吧,您可以使用 InputStream 从文件中读取数据,并根据需要使用该数据构建文件。
    • 谢谢老兄!!我已经设法从输入流中写入文件......非常感谢:)
    猜你喜欢
    • 1970-01-01
    • 2012-10-04
    • 2014-12-28
    • 2012-04-28
    • 1970-01-01
    • 1970-01-01
    • 2012-03-04
    • 2014-11-23
    • 1970-01-01
    相关资源
    最近更新 更多