我有一个蚂蚁脚本,它做了很多东西,但我被要求提供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内)。
答案 0 :(得分:2)
在JVM中运行的任何对象都可以为JAR中的任何资源/文件获取InputStream,如下所示:
InputStream is = this.getClass().getResourceAsStream("yourpackage/yourfile.xml");
在您的情况下,听起来像build.xml不在包中,因此您应该能够使用:
InputStream is = this.getClass().getResourceAsStream("build.xml");