質問: Java更新後のjZebraロードエラー jZebraアプレットを使用してチケット・プリンタに印刷するWebパネルが1つあります。 Java 1.6.29ではすべて正常に動作しますが、1.7.10にアップデートした後は、jZebra.PrintApplet.class ClassNotFoundExceptionでアプレットのロードに失敗します。アプレットをロードするHtmlは次のようになります。 ``` ... ... ``` jzebra.jarは、htmlファイルと同じフォルダ内にとどまります。 何が問題なのか知っていますか?
回答: qz-print 1.8.0にアップデートし、JNLP(または新しく提供されたアプレットタグ)を使用してアプレットをデプロイすることをお勧めします。アプレットタグを保持することを選択した場合、私はそれらが数年の間にかなり変化したので、それらを更新することをお勧めします: ``` ``` または古い「ジュズブラ」の名前を保つ必要がある場合 ``` ``` さらに、アップグレードプロセスに複数の問題があったため、Javaのすべてのバージョンを完全に削除し、Java 7を再インストールすることをお勧めします。 私の経験から、Java 7のアップグレードには約10分の1がかかります。いくつかの解決策がありますが、私にとって最善の方法は、以前のすべてのバージョンをアンインストールし、Java 7をリブートして元に戻すことです。これは通常の "あなたが最初にアンインストールしましたか?私たちには、数時間をかけてアプレットをロードして、Oracleのテストページが動作しなくなるだけの負荷をかけている多くのクライアントがいます。 さらに、Java 7には多くの変更がありました。特に、JNLPの処理方法。古いバージョンのJava 6では適切なJNLPサポートがないため、アプレットタグの一部として.classパラメータが必要でした。 jzebraのようなフリー・アプレットでは、Oracleはさらに最近のJavaバージョンで自己署名アプレットを実行することを阻止します。これは、Java 7の初期のバージョンで警告とともに導入され、7u51で完全にブロックされました。 7u21では、Javaバージョンが古いと検出され、セキュリティ設定が高く設定されている場合、OracleはJavaScript(LiveConnect)をブロックすることに決めました。 (高値はデフォルト値です)。 「古くなった」ものが何か不思議であれば、これはタイマー(Javaバージョンがリリースされてから3ヶ月)またはOracleサイトのチェック(新しいバージョンが利用可能になったこと)によって判断できます。幸いにも、Java 7のu51には、指定されたURLのLiveConnectブロック動作を防ぐホワイトリスト機能が追加されています。 https ://blogs.oracle.com/java-platform-group/entry/upcoming_exception_site_list_in ただし、自己署名アプレットおよび/または古いJavaバージョンでアクセスするURLごとに追加する必要があります。 > > > **注意:**また、Javaセキュリティタブの[署名者CA]セクションに自己署名証明書をインストールする必要があるかもしれませんが、これはセキュリティ上のリスクであり、この問題の範囲については、 > > > 新しいバージョンのjzebraアプレット(現在は「qz-print」と呼ばれています)は、これらの負荷の問題のいくつかをチェックし、解決するための警告ダイアログを表示します。それらはsample.htmlで見ることができます。 最新版の印刷プラグインとJava版をダウンロードし、 にアクセスし、この作業を手助けするようにしてください。 - トレス