0

JREバージョン1.6.0_14でアプレットをロードしたいと思います。アップデート14、17、24、35をインストールしました。<object>タグを使用classidしてアップデート14のバージョンをロードしています。

この場合、アプレットはアップデート35でロードされ、次にアップデート14でロードされます。アップデート35のJavaコンソールではエラーは通知されず、アップデート1.6.0_14のJavaコンソールでは次のエラーが表示されます。

java.lang.ClassNotFoundException: sun/net/www/protocol/http/NTLMAuthenticationCallback

上位バージョンのJREが使用されないようにするにはどうすればよいですか?そして、クラスが見つからないというエラーを回避する方法は?

4

1 に答える 1

1

下位バージョンの JRE で実行することは、重大なセキュリティ リスクです。独自のアプレットを実行するときではなく、独自のコードを信頼するからです。しかし、他の人はそれを実行することを拒否する必要があります. 最新バージョンの JRE がインストールされていないブラウザでネットを閲覧する場合は、注意が必要です。

JRE インストーラーは Java プラグインをブラウザーにインストールし、要求する Java バージョンに関係なく、1 つのバージョンのプラグインが常に開始されます。その後、プラグインは object タグの classid で指定された JRE でアプレットを実行します。プラグインで使用できるバージョンは、Java コントロール パネルで構成できます。

これにより、最近のバージョンの Java 1.6 でアプリケーションが実行されない理由について疑問が残ります。このプラグインは、1.6.0_something で大幅にオーバーホールされ、次世代プラグインと呼ばれるものになりました。たぶんそれがあなたを悩ませているのです。Java コントロール パネルの詳細設定タブで、マシンで古いプラグインを使用することを指定できます。(「次世代 Java プラグインを有効にする (ブラウザの再起動が必要)」) 次世代プラグインを無効にすることで問題が解決するかどうかを知りたいと思います。

于 2013-01-15T00:06:01.190 に答える