Skip to content

In a Java 17 modular project, the demo cannot be run and the resource files cannot be loaded correctly. #140

@shenbinglife

Description

@shenbinglife

I encountered an error when running the sample code and spent a lot of time learning about Java module-related knowledge. I determined that it is impossible to obtain resource files through ClassLoader and recommended using class.getResourceAsStream instead. Can someone provide an answer? Is this my problem?

Code Version: Java17 + tilesfx 17.1.15

package com.example.javafxdemo._1_TilesFX;

import eu.hansolo.tilesfx.Demo;

class TilesfxDemo {
    public static void main(String[] args) {
        Demo.main(args);
    }
}
Exception in Application start method
Exception in thread "JavaFX Application Thread" java.lang.NullPointerException: inStream parameter is null
	at java.base/java.util.Objects.requireNonNull(Objects.java:233)
	at java.base/java.util.Properties.load(Properties.java:407)
	at eu.hansolo.tilesfx@17.1.15/eu.hansolo.tilesfx.tools.Helper.readProperties(Helper.java:630)
	at eu.hansolo.tilesfx@17.1.15/eu.hansolo.tilesfx.tools.Helper.getHiresCountryPaths(Helper.java:605)
	at eu.hansolo.tilesfx@17.1.15/eu.hansolo.tilesfx.skins.CountryTileSkin.initGraphics(CountryTileSkin.java:90)
	at eu.hansolo.tilesfx@17.1.15/eu.hansolo.tilesfx.skins.TileSkin.<init>(TileSkin.java:130)
	at eu.hansolo.tilesfx@17.1.15/eu.hansolo.tilesfx.skins.CountryTileSkin.<init>(CountryTileSkin.java:72)
	at eu.hansolo.tilesfx@17.1.15/eu.hansolo.tilesfx.Tile.createDefaultSkin(Tile.java:6740)
	at javafx.controls/javafx.scene.control.Control.doProcessCSS(Control.java:897)
	at javafx.controls/javafx.scene.control.Control$1.doProcessCSS(Control.java:89)
	at javafx.controls/com.sun.javafx.scene.control.ControlHelper.processCSSImpl(ControlHelper.java:67)
	at javafx.graphics/com.sun.javafx.scene.NodeHelper.processCSS(NodeHelper.java:146)
	at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9456)
	at javafx.graphics/javafx.scene.Node.processCSS(Node.java:9449)
	at javafx.graphics/javafx.scene.Scene.doCSSPass(Scene.java:572)
	at javafx.graphics/javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2510)
	at javafx.graphics/com.sun.javafx.tk.Toolkit.lambda$runPulse$2(Toolkit.java:421)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at javafx.graphics/com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:420)
	at javafx.graphics/com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:450)
	at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:575)
	at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:555)
	at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.pulseFromQueue(QuantumToolkit.java:548)
	at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$11(QuantumToolkit.java:353)
	at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
	at javafx.graphics/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
	at javafx.graphics/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:184)
	at java.base/java.lang.Thread.run(Thread.java:833)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions