java - Scene.getStylesheets().add() 在 jar 文件中不起作用

标签 java jar resources javafx-2 maven-3

只要我直接从 Eclipse 运行我的项目,我就没有问题:

scene.getStylesheets().add(getClass().getResource("/stylesheet.css").toExternalForm());

但是当我在 jar 文件中运行这段代码时,资源就找不到了(NullPointerException)。

我尝试将 css 文件移动到我的 src 文件夹,然后只将 stylesheet.css 作为路径而不是 /stylesheet。 css,但这会导致同样的问题:使用 Eclipse 可以正常工作,但不能使用 jar。

提示:我正在使用 Zonskis Maven JavaFX Plugin用于生成 jar。

最佳答案

我只是在浪费我(你)的时间编写愚蠢的 ma​​ven 配置文件。

代替:

scene.getStylesheets().add(getClass().getResource("/stylesheet.css").toExternalForm());

简单地写:

scene.getStylesheets().add("stylesheet.css");

这就是Zonski加载 css 文件。

当然,您的 stylesheet.css 文件应该在 /src/main/resources 中,或者在 CLASSPATH 中的某个地方。

关于java - Scene.getStylesheets().add() 在 jar 文件中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16287053/

相关文章:

java - 如何插入特殊字符?

Java - 定义和访问注释?

java - 无法在Grails 2.4.4项目中实例化OpenCV-4.0.1 CascadeClassifier

java - 内存斐波那契码的空间复杂度

java - 如何在不知道 Java 9 中 jar 文件的包名或文件系统路径的情况下列出所有资源

java - 使用工作资源文件制作一个 jar 库

java - Selenium - Maven/TestNG : how can we add testng parameters in Java class while adding "main method" to create executable/runnable. jar 文件?

java - 从 POJO 读取 persistence.xml

Android:具有具有完全相同 ID 的元素的不同布局 - 有效,但为什么呢?

c++ - DirectX 小应用程序像 hell 一样消耗资源