I try building a texture class for LWJGL 3 in Java.
My loadTexture function looks like this:
   public static Texture loadTexture(String filename) {
        int id = -1;
        try {
            File texture = new File(filename);
            if (!texture.exists()) {
                System.err.println("File '" + filename + "' does not exist.");
                return null;
            }
            // crash in following line
            InputStream stream = ClassLoader.getSystemResource(filename).openStream(); 
            PNGDecoder decoder = new PNGDecoder(stream);
            // Some code between here
            return new Texture(id, new Vector2i(decoder.getWidth(), decoder.getHeight()));
        } catch (IOException e) {
            e.printStackTrace();
            return new Texture(id, new Vector2i());
        }
    }
The stacktrace is following:
Exception in thread "main" java.lang.NullPointerException
    at org.citynopolisproject.graphics.Texture.loadTexture(Texture.java:49)
    at org.citynopolisproject.Game.<init>(Game.java:30)
    at org.citynopolisproject.Game.<init>(Game.java:33)
    at org.citynopolisproject.Game.main(Game.java:188)
The location of the file is: citynopolisproject/res/splash.png and the source file of the Texture.java (if needed) is stored in citynopolisproject/src/org/citynopolisproject/graphics.
But I don't get why it crashes and throws a NPE. You have any ideas?
Greetings
