我有一个使用第三方应用程序的Java项目 . 我有许可证文件(.lic格式)存储在资源文件夹中 . 运行Ant脚本后,它会将此文件复制到/ lib / jar目录,因为它将项目汇总到Jar文件中以在服务器上使用 . 这是我在运行系统时需要访问该文件的位置 . 以下是文件夹结构的外观
MyProject
src
package
AccessingClass.java
resources
File.lic
lib
jar
File.lic (upon copy from Ant)
我不确定最好的方法,所以除了我一直在尝试的任何建议可能会有所帮助 . 第三方项目在类中有一个方法,如License.setLicense(),它可以将String带到该位置或该文件的InputStream .
我一直在玩它输入一个InputStream,但在调用getClass() . getResourceAsStream()时总是得到一个空值 . 这是我尝试过的一切:
getClass() . getResourceAsStream("../../../lib/jar/File.lic"); getClass() . getResourceAsStream("/File.lic");
作为备份我也尝试过(对于本地构建,我想我会尝试资源文件夹):
getClass() . getResourceAsStream("../../../resources/File.lic"); getClass() . getResourceAsStream("/File.lic");
有没有更好的方法来执行此操作?或者有人能够告诉我为什么我的尝试失败了?提前谢谢 .