2

JavaFX コンポーネントを使用する Swing アプリケーションを作成し、配布用にパッケージ化したいと考えていますが、それを理解することができませんでした。

Intellij Idea では、File-> Project Structure-> artifacts を選択し、「from module」を選択しました。次に、Build-> Generate Ant Build を選択し、いくつかの Ant ファイルを生成しました。私は行を変更しました:

<fx:application id="JReader_id" name="JReader" mainClass="com.facetoe.jreader.JReader"/>

ここに記載されているように:

<fx:application id="JReader_id" name="JReader" mainClass="com.facetoe.jreader.JReader" toolkit="swing"/>

Swing アプリケーションであることを示します。最後に、.jarIntellij で Build-> Build Artifacts を使用してビルドし、.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)

何らかの理由でメインメソッドを実行できないようです...これを修正する方法を知っている人はいますか?

4

1 に答える 1