13

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.

peterh
  • 11,875
  • 18
  • 85
  • 108
prolink007
  • 33,872
  • 24
  • 117
  • 185

5 Answers5

15

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

prolink007
  • 33,872
  • 24
  • 117
  • 185
5

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.

Ryan Stewart
  • 126,015
  • 21
  • 180
  • 199
0
  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>
    
phray2002
  • 425
  • 4
  • 9
-1

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.

JDeveloper

Karl Henselin
  • 1,015
  • 12
  • 17
-2

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

emory
  • 10,725
  • 2
  • 30
  • 58
  • This did not work. I am seeing that the URL is created but the value is still null after execution. – prolink007 Aug 26 '11 at 02:44
  • 3
    Not really, resources beginning with "/" are treated as absolute paths within the classpath: http://download.oracle.com/javase/6/docs/api/java/lang/Class.html#getResource(java.lang.String) – Michael Brewer-Davis Aug 26 '11 at 02:46