在jar文件中查找文件时出现问题

时间:2011-08-29 15:29:35

标签: java apache ant jar

我是一名Apache Ant新手,我创建了一个Java应用程序,其中包含许多文件中的sys.properties文件。该文件的位置在根目录中,为了被调用,代码中的字符串“sys.properties”用于定位此文件。它确实运作良好。

现在我使用Apache Ant创建了一个构建文件,该文件从应用程序中创建了一个jar文件。在我使用的代码中

<filelist dir="${basedir}" files="sys.properties"/>

在创建此jar文件时确实将新文件放在jar文件的根目录中。

当我通过命令行运行时:

java -classpath C:\tmp\APP;doddle.jar; doddle.home.start

jar应用程序似乎在查找sys.properties但它找不到它( doddle.home.start 类调用sys.properties)。

知道问题可能在哪里?提前谢谢!

2 个答案:

答案 0 :(得分:3)

问题是sys.properties不再是文件,而是jar条目。

您可以InputStream SomeClass.class.getResourceAsStream("/sys.properties")访问the I/O tutorial(有关如何处理流的问题,请参阅{{3}})

答案 1 :(得分:1)

您应该提供有关如何尝试引用该文件的更多信息。你用的是什么路径?如果您尝试打开“sys.properties”,可以尝试引用“/sys.properties”,它应该从jar文件的根目录打开文件。