我正在创建一个sbt插件。它的一个特点是显示一个给定scala项目(调用这个插件的依赖关系图)。为此,我使用scalafx,它仍然取决于javafx jar。所以我需要在我的插件build.sbt中添加以下命令:sbt插件中的UnmanagedJars
unmanagedJars in Compile += Attributed.blank(file(System.getenv("JAVA_ORACLE") + "/jre/lib/jfxrt.jar"))
它编译和运行良好。但是,当我将它用作另一个sbt项目的插件时(使用项目/ 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在我的插件调用时如何在运行时显示?
感谢