放置属性文件的位置,以便java命令在类路径中看到它
我们有一个需要读取属性文件的jar。属性文件需要在不重建应用程序的情况下进行编辑,因此将其从生成中排除
为了让应用程序看到属性文件,它被放置在java类路径上的一个文件夹中。用于运行应用程序的Windows命令行格式如下:
java -cp application.jar;.\lib_folder\*; com.company.Start
Java正确地拾取lib_folder
中的所有jar文件。属性文件放在同一文件夹中,但应用程序无法看到它,并引发FileNotFoundException。我们是不是做错了什么
非常感谢
# 1 楼答案
如果您使用ResourceBundle读取属性文件,那么只需添加包含属性的顶级项目。属性文件到类路径
# 2 楼答案
类解析从cp中给定的路径开始。如果您提供。\lib_文件夹位于类路径中,不带星号,并且属性文件位于该文件夹中,然后将拾取它。当前属性文件本身在类路径中
# 3 楼答案
您的类路径只包含jar,符号
.\lib_folder\*
表示文件夹中的每个jar,而不是文件夹本身文件夹本身需要添加,但是我怀疑您不应该将文件添加到“lib”目录,您应该使用不同的目录,如“config”
当您尝试获取资源时,您得到的
null
不是此异常。试试下面的方法如果找不到文件,则返回
null
FileInputStream查找直接文件,它不使用类路径