jar文件中的Java classLoader

时间:2015-05-18 16:12:00

标签: java netbeans jar classloader

我使用以下项目:

测试项目

/lib/classA.jar
/src/main/java/org/test/classB.java
/src/main/resources/log.txt

classA.jar 中,我使用ClassLoader.getSystemClassLoader()来获取" log.txt"的路径。文件。在 classA.jar 的项目中,没有问题。

但是当我在 Test-Project 中使用jar时,我得到了" log.txt"的后续路径。文件:

/lib/classA.jar!/log.txt

有没有办法让 Test-Project 的类加载器进入jar文件?

1 个答案:

答案 0 :(得分:1)

要访问资源文件,您应使用Class#getResourceAsStream来读取此文件。

InputStream stream = Class.class.getResourceAsStream("/log.txt");

注意:jar文件是一个存档,如果它实际上是一个日志文件,那么它应该保持不变,你不应该将它存储在一个jar文件中。