2 に答える
オラクルが言うように:http://docs.oracle.com/javase/7/docs/webnotes/tsg/TSG-Desktop/html/plugin.html。
アプレットに追加の引数を追加するには、次の環境変数を設定する必要があります。
_JPI_VM_OPTIONS=-Xmx…
さらに、参考サイトには次のように書かれています。
環境変数を設定した後、ブラウザを再起動する必要があることに注意してください。コマンド シェルでこの環境変数を設定している場合は、ブラウザが環境変数の値を継承するように、同じコマンド シェルを使用してブラウザを起動する必要があります。
ただし、ubuntu で環境変数を設定する方法がわからない場合は、次の投稿が役立つ場合があります。Make $JAVA_HOME in Ubuntu で簡単に変更できるようにする
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
。ほとんどの場合、問題にはなりません。