6

JNLP および Java Web Start 経由でアプレットを起動しています。私の問題は、ページが読み込まれると、2 つの JVM が起動し、2 つの Java コンソール ポップアップと 2 つの「このアプリケーションを実行しますか?」というメッセージが表示されることです。ポップアップ。それ以外は、アプレットが読み込まれ、ネイティブ ライブラリも正しく読み込まれます。二重起動の原因はよくわかりません。

編集: また、最初にロードされた JVM は、約 30 ~ 45 秒後に自動的に閉じます。

html

<script>
var attributes = { code:"com.osgi.swpc.applet.TrackerApplet.class", width:770, height:825};
var parameters = {jnlp_href: "tracker-applet.jnlp"};
deployJava.runApplet(attributes, parameters, "1.6");
</script>

jnlp

<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" href="">
    <information>
        <title>Tracker</title>
        <vendor>My Vendor</vendor>
    </information>
    <resources os="Windows">
        <!-- Application Resources -->
        <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se" />
        <jar href="tracker_applet.jar" main="true" />
        <nativelib href="applets/jacob.jar"/>
        <nativelib href="applets/com4j.jar"/>
    </resources>
    <applet-desc 
         name="Tracker Applet"
         main-class="com.osgi.swpc.applet.TrackerApplet"
         width="770"
         height="825">
     </applet-desc>
     <update check="background"/>
</jnlp>
4

3 に答える 3

0

二重起動の原因はよくわかりません。

使用している Java の実装によって異なりますが、最近のバージョンの Oracle JRE (以前は Sun JRE) では、WebStart アプリケーションは次のようになります。

  • JNLP ファイルをキャッシュする
  • JNLP ファイルを読んで、ダウンロードする必要があるリソースのリストを見つけます (これらは通常、JAR です)。
  • 最近ダウンロードした JAR を使用して通常の Java アプリケーションを起動するコマンドを作成する
  • Java アプリケーションを起動する

(注意: Java WebStart が何をするかを完全に説明しようとしているわけではありませんが、プロセスについての洞察を提供しようとしています。)

このようにして、最初javawsに JAR をダウンロードするのに必要な限りほぼ実行可能な実行可能ファイルを作成し、次にjava実際のプログラムを実行する実行可能ファイルを作成します。

于 2014-06-30T09:49:31.740 に答える
0

これが MSIE で発生した場合に備えて、特にインターネット アクセスがない/遅い状況では、「スマート スクリーン フィルター」を無効にする提案を追加したいだけです。

オプションの位置は MSIE のバージョンによって異なります。MSIE 7 ではエクストラ メニューに直接あると思いますが、9 ではインターネット オプションのセキュリティ設定の下にあります。

于 2016-06-16T20:51:05.013 に答える
0

うーん...興味深い質問

詳細があればよいので、よくわかりません...しかし、一目見ただけで、あなたがメインクラスの重複を指摘していることに気付くことができます:

...JSで

var attributes = { code:"com.osgi.swpc.applet.TrackerApplet.class", width:770, height:825};

そしてJNLPで

main-class="com.osgi.swpc.applet.TrackerApplet"

そのため、メイン クラスの属性を 1 つだけ持つようにしてください。できれば JNLP のままにして、もう一度起動してみてください。


追加の質問の詳細がある場合は、コメントしてください

それが役に立ったかどうかを報告する

于 2013-04-15T17:06:45.973 に答える