2
我已經編寫了一個使用JavaFX組件的Swing應用程序,但我想將它打包進行分發,但是我一直無法弄清楚。使用JavaFX內容部署Swing應用程序
在Intellij Idea中我選擇了File-> Project Structure-> artifacts並選擇了「from module」。接下來我選擇Build-> Generate Ant Build並生成一些Ant文件。我修改了IS行:
<fx:application id="JReader_id" name="JReader" mainClass="com.facetoe.jreader.JReader"/>
描述here到:
<fx:application id="JReader_id" name="JReader" mainClass="com.facetoe.jreader.JReader" toolkit="swing"/>
以指示其Swing應用程序。最後,我在Intellij中使用Build-> Build Artifacts構建了.jar
,並且.jar創建時沒有錯誤。然而,當我試圖運行.jar我得到這個錯誤:
⇒ java -jar out/artifacts/JReader/JReader.jar
java.lang.IllegalAccessException: Class com.javafx.main.Main can not access a member of class com.facetoe.jreader.JReader with modifiers "public static"
at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:109)
at java.lang.reflect.AccessibleObject.slowCheckMemberAccess(AccessibleObject.java:261)
at java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:253)
at java.lang.reflect.Method.invoke(Method.java:599)
at com.javafx.main.Main.launchApp(Main.java:714)
at com.javafx.main.Main.main(Main.java:871)
看起來它無法運行出於某種原因...沒有人有任何想法我怎麼能解決這個問題的主要方法是什麼?