我的问题如下:我正在尝试访问 Jar 中的类文件。我在包“com.msgxsd”中有一个罐子“dumb.jar”。jar 在类路径上,如果我尝试这样做
InputStream is = this.getClass().getClassLoader()
.getResourceAsStream("com/msgxsd/dumb.jar");
然后我得到一个jar的输入流,没有问题。
当我尝试为 jar 中的文件获取输入流(或 URL)时,就会出现问题。所有 jar 包含(显然除了清单)是文件“DummyClass1.class”。
我已经尝试了以下所有方法:
InputStream is = this.getClass().getClassLoader()
.getResourceAsStream("DummyClass1.class");
InputStream is = this.getClass().getClassLoader()
.getResourceAsStream("dumb.jar!/DummyClass1.class");
但返回的输入流始终为空。我也试过
URL url = this.getClass().getResource("DummyClass1.class");
URL url = this.getClass().getResource("dumb.jar!/DummyClass1.class");
但返回的 URL 为空。
我已经查看了与访问 Jar 中的文件有关的每一个问题,但是建议的解决方案(如上所示)对我不起作用。
我想要的只是能够为 jar 中的“DummyClass1.class”获取一个 InputStream(或者理想情况下是一个 URL),这样我就可以以某种方式构造一个 File 实例。
任何建议将不胜感激。