単純なJavaの11 JavaFXprogram、JARファイルから実行エラー(Windowsの場合)

NottmTony:

私は、Eclipseで罰金を実行し、テストのJavaFXプログラムを持っています。 - 私は、次を含むモジュール-infoファイル(module-info.java)を追加する必要がありました:

module moduletest {
    requires javafx.controls;
    exports com.javafx.test.MenuTest;
}

Javaクラス:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import javafx.stage.Stage;

public class MenuTest extends Application {

@Override
public void start(Stage primaryStage) {

    Scene scene = new Scene(new VBox(), 300, 250);

    Circle circle1 = new Circle(-20,0,200);        
    circle1.setFill(Color.CADETBLUE);
    ((VBox) scene.getRoot()).getChildren().addAll(circle1);

    primaryStage.setScene(scene);
    primaryStage.show();        
}

public static void main(String[] args) {
        launch(args);
    }
}

私は、次のコマンドを使用してエクスポートJARファイルとしてそれを実行すると、

java -jar TonyJavaFX.jar -classpath .;./lib/javafx.controls.jar

、私は次のエラーを取得します:

エラー:java.lang.NoClassDefFoundErrorが:JavaFXの/アプリケーション/アプリケーションに起因するメインクラスcom.javafx.test.MenuTest.MenuTestを見つけるか、または読み込めませんでした。

注:私はすべてのJavaFX jarファイルが含まれているからjarを実行しているフォルダの下に直接のlibフォルダを持っています。

また:

あなたは必ずモジュールことを確認する必要がありますjavax.controlsし、javafx-graphics.jarあなたの上に存在しているのModulePathの代わりにクラスパス

--module-path ./lib/javafx.controls.jar:./lib/javafx.graphics.jar

:これは、のほか必要としないjavafx.graphics、それが推移により必要とされているので、あなたのモジュールの宣言にモジュールをjavafx.controlsモジュール。ただのModulePath内のモジュールの存在は、それを助けるものとします。

重要:あなたが理想的なのModulePathに完全のlibフォルダを追加する必要があります。もっとここに- https://openjfx.io/openjfx-docs/#install-javafx

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=212201&siteId=1