2017-11-14 15 views
0

私のUnixシステムにX11サーバやGUIモードがない場合、コンソールモードに戻ってしまうインストーラがあります。コンソールの実行が有効になっている場合、私は[installer] -cコマンドを使用してインストーラを実行していない場合でもInstall4j:CentOS 7 Serverでインストーラを実行すると例外が発生しない

enter image description here

代替オプションによると、それは自動的に(それを実行する必要があります。以下は、私はインストーラのために設定されている構成ですまた、通常の使用例でなければなりません)。しかし、残念ながら、私がコンソールモードで直接インストーラを実行すると、例外がスローされます。例外ログは次のとおりです。

java.lang.NoClassDefFoundError: java.awt.Container 
    at com.install4j.runtime.installer.frontend.headless.AbstractHeadlessScreenExecutor.init(AbstractHeadlessScreenExecutor.java:67) 
    at com.install4j.runtime.installer.frontend.headless.ConsoleScreenExecutor.<init>(ConsoleScreenExecutor.java:24) 
    at com.install4j.runtime.installer.frontend.headless.InstallerConsoleScreenExecutor.<init>(InstallerConsoleScreenExecutor.java:6) 
    at com.install4j.runtime.installer.Installer.getScreenExecutor(Installer.java:88) 
    at com.install4j.runtime.installer.Installer.runInProcess(Installer.java:57) 
    at com.install4j.runtime.installer.Installer.main(Installer.java:45) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:81) 
    at com.install4j.runtime.launcher.UnixLauncher.main(UnixLauncher.java:62) 

Install4j 6.1.4で試した後、7.0.3でアップグレードしましたが、動作は同じです。私のLinuxインストールはCentOS 7 Serverで、インストーラにはJava JRE 1.7.80がバンドルされています。

私のCentOSにはinstall4jに必要なものがありますか?あるいは、インストーラで何か他のものを設定して、正しく機能させる必要がありますか? -cで試してみましたが、その場合は動作します。

+0

あなたがAWTクラス –

+0

を持っている。しかし、私は '-c'コマンドを使用してインストーラを起動したときにそれが実行しないヘッドレスJREで実行しようとしているようです。コンソールモードで手動で実行すると、AWTクラスは必要ありませんか? – ShaDooW

答えて

0

フォールバックは現在、ウィンドウを初期化しようとしましたが、失敗するとヘッドレスモードに切り替わります。あなたのシステムでは、この場合、ヘッドレスモードは動作していないようです。

GraphicsEnvironment.isHeadless()を使用して、別の種類のヘッドレスチェックを追加します。これは、[email protected]から入手できます。

+0

また、ヘッドレスモードを使用してRedhat 6.6でインストーラをテストしましたが、うまく動作します。あなたは別の小切手を追加しても効果はありますか? – ShaDooW

+1

はい、それに影響を与えないことを、昔のチェックは大丈夫AWT –

+0

を初期化していない新しいチェックした後、第2来るあなたが尋ねたとして、私はサポートに書かれています。私は、このチェックは、将来のアップデートで利用可能になることを推測していますか? – ShaDooW