我有两个 JPMS 模块:
- 模块-a
- 模块-b
在 module-a 我有类似的东西:
public class MyAppplication extends Application {
....
public static void addCss(String path) {
stage.getScene().getStylesheets().add(path);
}
}
在 module-b 中,我有想要添加到的 CSS 文件MyApplication
。如何在 module-b 的代码中做到这一点?我不明白如何从另一个模块传递路径。
我的意思是在模块 b 中:
...
MyApplication.addCss(???);
...
编辑
在 OSGi 中,我使用了以下解决方案bundle-b
(假设 module-a 是 bundle-a,module-b 是 bundle-b):
String pathInBundleB = "com/foo/package-in-bundle-b/file.css"
Bundle bundleB = FrameworkUtil.getBundle(this.getClass()).getBundleContext().getBundle();
URL cssFileUrl = bundleB.getEntry(pathInBundleB);
MyApplication.addCss(cssFileUrl.toString());