![](/img/trans.png)
[英]Why am I getting a can't load class, when the class is in my JAR file?
[英]Deploying .jar file: Why can't I load icon files?
我正在导出一个包含两个目录的简单java项目; src和图标。 图标是包含三个.png文件的目录。
我正在使用File - > Export导出到可执行的.jar文件。 导出正常,.jar文件包含Icon目录。 但是在部署项目时,我无法获得.png文件的正确路径。 在开发过程中,我使用以下路径:
图标/ picture.png
只要我在Eclipse IDE中运行它就可以工作。 如何获得图标的正确路径?
您的代码正在查找.jar文件之外的图像。 请尝试使用ImageIcon
的URL构造函数 。
Icon icon = new ImageIcon(getClass().getResource("Icons/picture.png"));
请参见Class.getResource()
。
mmyers是正确的,但要注意getClass().getResource()
将相对于定义类的包加载资源。 我怀疑你的图标是打包在jar文件的根目录而不是相对于类本身。 要从类路径的根目录获取资源,请尝试: getClass().getClassLoader().getResourceAsStream("Icons/picture.png")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.