I need to package a configuration file within a jar. the configuration file is under the root of the jar file. However I got the following error:
Cau
You should use getResourceAsStream() instead. If the file is embedded in your JAR the URI is most likely bundle:// URI
InputStream is = this.getClass().getResourceAsStream("my.conf");
Why do you need a file? IF you need to read the config use
Class.getResourceAsStream("/my.conf");
This will need only to be the file in the one folder with the root of your package( the same as in the root of the jar)
The file should be in the same package as the MyClass. I just realized you are creating a File object. Instead try using getResourceAsStream(). This is the right way if you want to read the contents from a classpath resource. Here is the example.