views:

167

answers:

2

I'm trying to recompile a project I've been working on and I keep getting an error message when trying to load a property file:

The system cannot find the path specified.

I guess this has to do with the classpath. But I've added the path to the file in Properties-> Java build path-> Libraries (external class). I also checked the .classpath file generated by eclipse, and the path is really there!

Why isn't Eclipse looking at the right path?

+2  A: 

There 2 different classpaths, build classpath and runtime classpath. The one you are setting is the build classpath.

Check your runtime classpath by going to Run -> Run Configurations and select your application configuration. Check the classpath setting there.

There is another workaround for this also. Eclipse by default will include your output folder (usually named bin) in your classpath. Typically anything that are not compilable in src folder will be copied to bin as is. I assumed your property file is not located in src folder. What you can do is to open your project property and add the folder where your property is located into Java Buld Path -> Source (tab). This way eclipse will copy the content of that folder into bin and will be in the classpath.

DJ
Exactly what I was looking for the runtime classpath. Thank you. I'll try it!
Amokrane
+1  A: 

There are several ways to read a property file:

  • Have it in the current working directory (the one cd'ed to). You can do this in the Eclipse launch configuration. (Run -> Run...)

  • Include it in your application, by having it in a source folder. You then need to read it in through a class loader to be able to get it always (when jarred up, through Java Web Start, etc).

Thorbjørn Ravn Andersen