(我已经完成了(差不多),但代码看起来很害羞)
我正试图从另一个lib(My core)res获取路径
基本上在我的lib(我的核心)中我写了
createWindow(null, "Login", "view/Login.fxml", "view/Core.css");
这会加载res中的文件 - >查看(所以这是有效的)
在我使用lib(我的核心)的另一个jar中
createWindow(getClass(), "Login", "Login.fxml", "Core.css");
这会加载src中的文件 - > us.cweye.example(我的主文件所在的位置)
这将触发此功能
private boolean isSelf = false;
public void createWindow(Class<?> clazz, String windowID, String FXMLpath, String stylePath) {
try {
if(clazz == null) isSelf = true;
Parent root = FXMLLoader.load((clazz == null) ? ClassLoader.getSystemResource("res/" + FXMLpath) : clazz.getResource(FXMLpath));
scene = new Scene(root);
if(stylePath != null) {
scene.getStylesheets().add((isSelf == false) ? clazz.getResource(stylePath).toExternalForm() : ClassLoader.getSystemResource("res/" + stylePath).toExternalForm());
}
} catch (IOException e) {
e.printStackTrace();
}
}
我有一个问题,当我编译jar时无法找到文件。所以我只是快速做了一些事情来解决它然后..如何解决这个问题
所有这些信息我希望我的lib(我的核心)加载res文件夹中的文件和我想要的文件加载res中的文件。
感谢您阅读本文。如果有人想要他们可以修复我的languange错误:)
答案 0 :(得分:0)
你的文件实际上是在jar文件中吗?
我正在使用多个maven项目,需要像这样执行查找
MyClass.class.getClassLoader().getResource("folder/view.fxml")
结构如下:
的src /主/资源/文件夹/视图/ FXML