[英]I exported a runnable jar using eclipse of my javafx14 application but cannot run the application
我有一個問題,我目前正在 eclipse 上做一個 javafx14 項目,項目快完成了。
所以我將應用程序導出為可運行的 jar。但是當我嘗試通過鍵入使用控制台運行它時。
java --module-path %PATH_TO_FX% --add-modules javafx.controls,javafx.fxml -jar app.jar
或者
java -jar app.jar
或任何真的。 它給了我以下
Error occurred during initialization of boot layer
java.lang.module.FindException: Module javafx.controls not found
或這個:
Error: JavaFX runtime components are missing, and are required to run this application
請幫忙。 提前致謝
您必須指定 javafx 控件的完整路徑。 我推薦使用 gradle 或 maven 作為選擇器。 使用 gradle,您可以創建一個 bat 文件,該文件將運行您的應用程序並處理 rest。
build.gradle
plugins {
id 'application'
id 'org.openjfx.javafxplugin' version '0.0.8'
id 'org.beryx.jlink' version '2.17.2'
}
javafx {
version = "11.0.2"
modules = [ 'javafx.controls' ] // you can add 'javafx.fxml', ...
}
group 'flpe'
version '1.0-SNAPSHOT'
// Use Java 13 only if you use Gradle 6+
// The JDK folder must be added to the environment variable JAVA_HOME
(https://www.wikihow.com/Set-Java-Home)
sourceCompatibility = 1.11
repositories {
mavenCentral()
}
jlink {
launcher {
name = 'exe_name'
}
}
mainClassName = 'javafx.jlink.example.main/gui.Main'
modul-info.java一定!
module javafx.jlink.example.main {
requires javafx.controls;
exports gui;
}
主.java
package gui;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class Main extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("Hello World!");
Button btn = new Button();
btn.setText("Useless button");
StackPane root = new StackPane();
root.getChildren().add(btn);
primaryStage.setScene(new Scene(root, 300, 250));
primaryStage.show();
}
}
我通過確保將 jar 文件放在與庫文件夾相同的位置來解決問題。
像這樣:
-Jar file.
-Folder: lib
因此,總而言之,只需確保 jar 文件與您的庫位於同一位置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.