Java 使用可执行Jar访问文件
我收到的文件如下:Java 使用可执行Jar访问文件,java,file,jar,io,Java,File,Jar,Io,我收到的文件如下: File testHeaderFile = new File(ClassLoader.getSystemResource("Images/redHeader.jpg").toURI()); 当我在eclipse中编译时,这是有效的,但当我从可执行jar运行时,这是无效的 这段代码正在使用jar: ImageIcon pc = new ImageIcon(getClass().getClassLoader().getResource("Images/stateFarmThem
File testHeaderFile = new File(ClassLoader.getSystemResource("Images/redHeader.jpg").toURI());
当我在eclipse中编译时,这是有效的,但当我从可执行jar运行时,这是无效的
这段代码正在使用jar:
ImageIcon pc = new ImageIcon(getClass().getClassLoader().getResource("Images/stateFarmTheme1Icon.png"));
我到底做错了什么?每个类加载器都有自己的搜索路径 ClassLoader.getSystemResource: 只需从用于加载类的搜索路径(eclipse中的include project directory)中找到指定名称的资源,并通过系统类加载器定位该资源。因此,不包括可执行jar目录 getClass().getClassLoader().getResource: 此方法将首先在父类装入器中搜索资源;
如果父级为null,则会搜索内置到虚拟机的类加载器的路径。因此,请包含可执行jar目录。能否提供项目的树目录?