我是一名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)。
知道问题可能在哪里?提前谢谢!
答案 0 :(得分:3)
问题是sys.properties
不再是文件,而是jar条目。
您可以InputStream
SomeClass.class.getResourceAsStream("/sys.properties")
访问the I/O tutorial(有关如何处理流的问题,请参阅{{3}})
答案 1 :(得分:1)
您应该提供有关如何尝试引用该文件的更多信息。你用的是什么路径?如果您尝试打开“sys.properties”,可以尝试引用“/sys.properties”,它应该从jar文件的根目录打开文件。