在jar里面打开一个文件

时间:2011-08-26 11:31:38

标签: file build jar

我有一个蚂蚁脚本,它做了很多东西,但我被要求提供jar,所以它可以作为一个应用程序运行。

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

文件buildFile =新文件(BUILD_FILE);

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

当我将proj导出为Runnable jar时,它会抛出异常(File not found build.xml)

即使我将build.xml文件添加到jar中仍然存在,但是如果我将build.xml文件放在jar所在的同一文件夹中,那么它就可以了。 (但我不想这样做)

aynone可以指导我如何确保当我导出为jar时,在jar中添加了build.xml文件,我如何在我的代码中引用该文件(在jar内)。

1 个答案:

答案 0 :(得分:2)

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

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

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

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