web-dev-qa-db-ja.com

.jar JavaFXアプリケーションを実行できません

私はWindowsで作成したJavaFXアプリケーションをUbuntuで動作させるようにしています。私は.jarファイルを作成しましたが、Windows 10では正常に動作しますが、Ubuntuでは動作しません。デスクトップから(実行可能ファイルとして実行を有効にして)ダブルクリックしても、ターミナルから実行しても、メインクラスが見つからないというエラーが表示され続けます。 Javacも機能せず、同じ種類のエラーが発生します。これは私のマニフェストファイルです。

Manifest-Version: 1.0
Implementation-Title: 
Implementation-Version: 
Permissions: sandbox
JavaFX-Version: 8.0
Class-Path: 
Created-By: JavaFX Packager
Implementation-Vendor: 
Main-Class: Main

インストールしましたJava apt install default-jreコマンド。何か案は?

これは、実行中に発生するエラーですJava -jar myApp.jar

Could not find or load main class Main
Caused by: Java.lang.NoClassDefFoundError: javarx/application/Application

一部の人々が指摘したように必要なjavafxをインストールした後、それはまだ動作しません。 Javaコマンドを実行しても同じ結果が得られます(上記を参照)。 javacコマンドの実行例をいくつか示します。

javac myApp.jarまたはjavac myApp

error: Class names, 'myApp.jar', are only accepted if annotation processing is explicitly requested

javac -cp myApp.jarまたはjavac -cp myApp

javac: no source files
2
Luctia

Ubuntu 18.04またはUbuntu 18.10を使用していると思います。 Java 11 as default-jre。Java 11にはJava FXがありません。個別にインストールする必要があります= Java UbuntuでのFXランタイム、またはJava FXの必要なすべてのライブラリ(モジュール)をアプリ内にMavenまたはGradleでパックします。パックするには、ビルドを行う必要があります。 Linux(Ubuntu)の内部では、Maven/GradleがLinux用のlibをダウンロードするため、ビルドはOSごとです。

詳細: https://stackoverflow.com/questions/52013505/how-do-i-use-javafx-11-in-Eclipse/52015953#5201595

Java FX 11: https://openjfx.io/openjfx-docs/#install-Java に関する詳細情報

アプリがJava 8(Java 1.8)で作成され、Java FXを含み、Javaに変更したくない場合= 11次に、Openをインストールする必要がありますJava 8をUbuntuにインストールし、openjfxをインストールします

もう1つの解決策は、JavaFxを含むUbuntuのOracle Java 8をインストールすることです。

Javaのインストール方法の詳細: https://www.digitalocean.com/community/tutorials/how-to-install-Java-with-apt-on-ubuntu-18-04

お役に立てば幸いです。

幸運を祈ります!

0
Level_Up