1
4

2 に答える 2

0

オラクルが言うように:http://docs.oracle.com/javase/7/docs/webnotes/tsg/TSG-Desktop/html/plugin.html

アプレットに追加の引数を追加するには、次の環境変数を設定する必要があります。

_JPI_VM_OPTIONS=-Xmx…

さらに、参考サイトには次のように書かれています。

環境変数を設定した後、ブラウザを再起動する必要があることに注意してください。コマンド シェルでこの環境変数を設定している場合は、ブラウザが環境変数の値を継承するように、同じコマンド シェルを使用してブラウザを起動する必要があります。

ただし、ubuntu で環境変数を設定する方法がわからない場合は、次の投稿が役立つ場合があります。Make $JAVA_HOME in Ubuntu で簡単に変更できるようにする

于 2012-11-13T13:16:04.417 に答える
0

icedtea-web プラグインのソースコードを見てみました。コマンドラインを構築するコードの部分には、その起源に関係なく、カスタム引数を含めるための準備がまったくないようです。したがって、どの構成ファイル、HTML ファイル、または環境変数を編集しても、そこにあるコードは同じコマンド ラインを構築して Java を呼び出し、私の希望をすべて無視します。

したがって、すべての構成が失敗した場合、残るのはハッカーです。1 つの方法は、プラグインのソース コードにパッチを適用し、コマンド ラインに追加の単語を含めることです。静的な追加、つまり単一のサイズ変更の場合、これはかなり簡単です。より一般的な修正には、ピーターの答えが示唆するように、いくつかの環境変数の内容が含まれます。これは、問題の環境変数を単語分割し、単語の配列に動的にスペースを割り当てることを意味します。Cレベルでのかなりの作業。

別の方法として、実行されたバイナリのレベルでこれに取り組むことができます。プラグインには、実行可能ファイルのパスがハードコードされているようです。私の場合、このパスは/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java. そのバイナリの名前を に変更java.origし、次の内容のシェル スクリプトをその場所に配置できます。

#!/bin/bash
for i in "$@"; do
  if [[ "${i}" == sun.applet.PluginMain ]]; then
    exec "$0.orig" -Xmx512m "$@"
  fi
done
exec "$0.orig" "$@"

このアプローチの結果の 1 つは、がpsこれらのアプレットを としてjavaではなく として出力するという事実ですjava.orig。ほとんどの場合、問題にはなりません。

于 2012-11-13T20:34:09.770 に答える