java JARファイルはWindowsでは動作しますが、Linuxでは動作しません(centos-7.6)。

java JARファイルはWindowsでは動作しますが、Linuxでは動作しません(centos-7.6)。

STIGViewer-2.8.jar文書。これはMicrosoft Windows 7または10では正しく機能しますが、Centos-7.6 Linuxでは機能しません。 Linuxでは、java STIGViewer-2.8.jar私がするとき

Error.  Could not find or load main class StigViewer-2.8.jar

インストールしましたがjdk-8u191-linux-x64.rpmセントースです。グラフィカルユーザーインターフェースを備えたサーバーだから私はグラフィック全体のランレベル5にあり、他のすべては大丈夫です... Libreoffice、freecad、unameit。 Linuxでjarファイルを実行するにはどのようなトリックを実行する必要がありますか?それともJavaの問題ですか、jarファイルの問題ですか?Windowsのみ

答え1

ソフトウェアGUIを使用してEPELリポジトリを有効にするI削除済みすべてオープンJavaまたはオープンJDK何かを検索しました。Java正しい判断で管理されていない状態を維持します。いくつかはまるでjson-glibまたはPython - Javaパッケージまたはtzdata-java私は一人で去った。

その後、Oracleで1つを作成しましたyum install jdk-8u191-linux-x64.rpm

これはソフトウェアGUIにjdk1.8-2000:1.8.0.201-fcsnoと表示されます。開いているフレーズ、そしてすべてオープンJavaまたはオープンJDK物事がインストールされていません。

その後働くのみ使用Java -jar StigViewer.jar

もし私がするならJava StigViewer.jarそれでもエラーメッセージが表示され、Windowsエクスプローラで.jarファイルをダブルクリックすると、コンテナのようにファイルが開きます。

Centos 7.6をインストールするときに選択しました。グラフィカルユーザーインターフェースを備えたサーバーJavaのオプションがあると思いましたが、オプションがなかったことを知っているので、centosが何とかopenjavaを自動的にインストールしたようです。

修正する:

信託jdk-8u201-linux-x64.rpm 結果は次のとおりです。/usr/bin/java 協会それから/etc/alternatives/java指す/usr/java/jdk1.8.0_201-amd64/jre/bin/java

これがOracle Javaで使用できるものです。stigviewer.jarファイルは以下によってのみ生成されます。java -jar stigviewer.jar

次のようなその他のソフトウェアオクターブそして頼るOpenJDKヘッドレスランタイム環境8java-1.8.0-openjdk-headless-1:1.8.0.201結果はまだ接続されており、/usr/bin/java接続/etc/alternatives/java/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-2.el7_6.x86_64/jre/bin/java機能しませんでした。stigviewer.jar文書。

/usr/java/jdk1.8.0_201-amd64/jre/bin/javaしたがって、必要に応じてOracleを手動で実行することを覚えておくことができます。 OpenJDKがインストールされると、oracle rpmがリンクを上書きしないようです。

答え2

Red HatがRHEL 7でこの問題を文書化したことを付け加えたいと思います。DISA STIG ビューアは OpenJDK で実行されません。。このリンクが機能するにはRed Hatログインが必要なので、ここで重要な情報をもう一度説明します。

環境: Red Hat Enterprise Linux 7 (RHEL7), OpenJDK 1.8

問題:DISA STIGViewerがOpenJDKと一緒に実行されません。

$ java -jar ./STIGViewer-2.7.1.jar
Error: Could not find or load main class stigviewer.STIGViewer

回避策:このアプリケーションにはOpenJDKの代わりにOracleのJREを使用してください。 OracleのJREまたはJDKは、Oracle Webサイトからダウンロードする必要があります。

根本原因:DISA STIGViewerアプリケーションはOpenJDKによって内部的に提供されていないJavaFXを使用しているため、OpenJDKは使用できません。

RHEL 7 / CentOS 7のデフォルトのJava 8バイナリはこのjava-1.8.0-openjdkパッケージで提供されています。

これSTIG Viewer 2.x ユーザーガイドこれはセクション1.1のコメントでも言及されています。

このツールはJavaで構築されており、単一のJARファイルとして提供されています。このプログラムを実行するには、コンピュータにJRE(Java Runtime Environment)がインストールされている必要があります。つまり、STIG Viewerツールを実行するにはOracle Javaが必要です。)。これにより、JREが生成されたすべてのオペレーティングシステムでプログラムを実行できます。これはまた、現在ログインしているユーザーの権限レベルでプログラムが実行されることを制限します。

関連情報