我有一个使用第三方应用程序的Java项目。我有存储在资源文件夹中的许可证文件(.lic格式)。在运行Ant脚本时,它会将该文件复制到/ lib/jar目录中,因为它将项目汇总到一个Jar文件中以便在服务器上使用。这是我在运行系统时需要访问该文件的地方。以下是文件夹结构的外观在Java项目中访问文件
MyProject
src
package
AccessingClass.java
resources
File.lic
lib
jar
File.lic (upon copy from Ant)
我不知道要做到这一点,出乎我如何一直在努力将可能是有帮助的其他任何建议的最佳方式。第三方项目在像License.setLicense()这样的类中有一个方法,它可以将字符串带到该位置或文件的InputStream。
我一直在为它提供一个InputStream,但在调用getClass()。getResourceAsStream()时总是得到一个空值。这里是我试过的所有东西:
- getClass()。getResourceAsStream(“../../../ lib/jar/File.lic”); getClass()。getResourceAsStream(“/ File.lic”);
而且作为备份我还试图(为当地建立我想我会尝试的资源文件夹):
- 的getClass()的getResourceAsStream(” ../../../资源/File.lic“); getClass()。getResourceAsStream(“/ File.lic”);
是否有更好的方法来执行此操作?或者有人能够告诉我为什么我正在尝试失败?提前致谢。
JAR中的内容(例如,如果解压缩它,文件是否位于?lib/jar?资源?根目录下) – Puce