开发者

getClass().getResource() always returning null

I am trying to set the URL of an image that is开发者_运维技巧 located in my resource folder in my src folder. It is always setting the URL to null. The image is there and everything is named correctly. What is the issue? Thanks!

My file structure:

  • sp1
    • src
      • resources
        • 01.png

Here is my code where I am trying to set the URL for the picture:

this.setImagePath(getClass().getResource("/resources/01.png"));

And the setImagePath is doing this, I am sure this is not the problem, because I followed the execution and it is setting it equal to null.

public final void setImagePath(URL imagePath) {
    this.imagePath = imagePath;
}

Solution

I had to clean the build and rebuild. It worked after that fix.


I had to clean the build and then rebuild. Works now.


You need to check that, however you're building, the image file gets copied over to wherever the class files are compiled to. I.e. if your class is com.foo.MyImageLoader and located at <build dir>/com/foo/MyImageLoader.class, then the image should be at <build dir>/resources/01.png for you to be able to load it like that.


  1. make sure the resource file is under your class path. For example, check whether your module/project is compiled to xxx.jar and saved under folder "target"
  2. I had this problem as well, when I run mvn install, there is NO jar file generated, that's why no resource found in jar file in target
  3. The cause of no jar generated is caused by following config in pom.xml, remove it and rerun install would be fine.

    <packaging>pom</packaging>
    


If using JDeveloper, make sure that you have the extension of the file that you want copied to the classes folder for use selected. Right click on the project and choose project properties to get to this screen.

getClass().getResource() always returning null


I would guess the URL should be "01.png" not "/resources/01.png"

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜