我正在創建一個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在我的插件調用時如何在運行時顯示?
感謝