我正在创建一个 sbt 插件。它的功能之一是显示给定 scala 项目(调用此插件的项目)的依赖关系图。为此,我使用 scalafx,它仍然依赖于 javafx jar。所以我需要在我的插件 build.sbt 中添加以下命令:
unmanagedJars in Compile += Attributed.blank(file(System.getenv("JAVA_ORACLE") + "/jre/lib/jfxrt.jar"))
它编译并且运行良好。但当我将它用作另一个 sbt 项目的插件时(在 project/plugins.sbt 中使用 addSbtPlugin 命令)时不会。当我调用插件时,我收到以下错误:
java.lang.NoClassDefFoundError: javafx/event/EventTarget
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:787)
在 classLoader 中找不到 javafx 类。我尝试了程序集插件 - 但它还没有为我使用的 scala 2.10 打包。
有谁知道我的插件调用我的 javafx jar 时如何在运行时提供它?
谢谢