我尝试寻找类似的答案,但我仍然面临一些困难。我正试图从jar中访问.gif文件。我的文件结构是:
src
|-> main
|->webapp
|->images
|-> bulb.gif
|->signed.jar
如果我使用绝对文件路径,那么我可以通过使用return (new ImageIcon(path, description)).getImage();
来获取我的图像,但我只是想使用相对路径。我尝试使用return (new ImageIcon(getClass().getResource("/images/bulb.gif"))).getImage();
,但这不起作用。我在后一种方法中使用正确的途径,还是有更好的选择?
InputStream image = getClass().getClassLoader().getResourceAsStream("images/bulb.gif");
Image in = null;
try {
in = ImageIO.read(image);
}
catch(Exception e){
}
return (new ImageIcon(in, description)).getImage();
我的文件结构与问题是
有关project/src/main/java/web/load/jar/something.java
project/src/main/java/web/load/jar/images/bulb.gif
project/build.xml
project/target/thing.signed.jar
我的罐子和
mainproject/src/main/app/thing.signed.jar
mainproject/src/main/app/images/bulb.gif
用于我的主要webapp。我试图从我的signed.jar访问bulb.gif,但将它放在我的signed.jar中可能会更容易。