2017-05-22 16 views
0

eclipseから実行可能なjarをエクスポートして署名し、jnlpファイルを作成しました。 Javaコンソールが「Javaコンソールでコンソールを表示」に設定されていて、javaコンソールがデフォルト設定であるJavaコンソールが非表示に設定されている場合、アプリケーションは起動しません。表示されていると、起動時にコンソールにエラーが表示されません。コンソールが隠されているとJava Web Startアプリがクラッシュする

この現象の原因は何ですか?

Beneathは私のjnlpファイルです。

<?xml version="1.0" encoding="UTF-8"?> 
    <jnlp spec="1.0+" codebase="https://myserver.com" href="launcher.jnlp"> 
    <information> 
     <title>App name</title> 
     <vendor>Company name</vendor> 
     <icon href="res/image.png"/> 
     <icon kind="splash" href="res/image.png"/> 
    </information> 
    <resources> 
     <!-- Application Resources --> 
     <j2se version="1.8.0_131-b11" href= 
     "https://java.sun.com/products/sautdl/j2se"/> 
     <jar href="res/myjar.jar" 
     main="true" /> 
    </resources> 
    <security> 
     <all-permissions/> 
    </security> 
    <application-desc 
     name="App name" 
     main-class="com.comp.app.main"> 
    </application-desc> 
    </jnlp> 
+0

似たようなことは聞いていません... JDK6で修正されたバグを見つけて見つけました。隠されたコンソールがいっぱいになり、最終的にヒープを使い果たします(https://bugs.openjdk.java.net/ブラウズ/ JDK-6926432)。私はあなたのアプリケーションをデバッグしようと思うと思う、これを参照することができます:https://stackoverflow.com/questions/10899675/debugging-jnlp-started-application。 –

+0

ありがとうございます。私は問題は、ログインフレームを廃棄し、起動時にスプラッシュ画面しか持たないことによると思います。フレームがなければプロセスは終了しますが、Javaコンソールが有効になっていると、スプラッシュ画面の後に新しいフレームが作成されるまでプロセスが実行されたままになります。スプラッシュ画面の-100、-100の位置にフレームを配置すると、問題が解決しました。 – gallow

+0

@gallowあなた自身の質問に対する回答として投稿することもできます。 –

答えて

0

問題が解決した方法は次のとおりです。

私はログインフレームを廃棄し、起動時にスプラッシュ画面しか持たないという問題があったと思います。フレームがなければプロセスは終了しますが、Javaコンソールが有効になっていると、スプラッシュ画面の後に新しいフレームが作成されるまでプロセスが実行されたままになります。スプラッシュ画面の-100、-100の位置にフレームを配置すると、問題が解決しました。

最も良い解決策ではなく、問題を修正しました。

関連する問題