1

u.are.u4500生体指紋リーダー用のSDKを使用しているアプレットで少し問題が発生しています。
NetBeansを使用してアプレットをローカルでテストすると、アプレットは正常に機能します。 アプレットテスト。 ローカル

問題は、アプレットを公開しようとしたときです。 アプレットのWebテスト。 エラーの詳細

私はいつも「java.lang.NoClassDefFound」を取得します。サーバー構成とワークステーション構成が一致するようにJava構成を変更しました。

SDKはc:\ java \ jdk1.7.0_07
にインストールされますJREはc:\ java\jre7にインストールされます ここに画像の説明を入力してください

生体指紋リーダーのjarファイルは次のとおりです。

  • dpfpenrollment.jar
  • dpfpverification.jar
  • dpotapi.jar
  • dpotjni.jar

クラスパスは次のとおりです。

C:\Java\jdk1.7.0_07\jre\lib\ext;
C:\Java\jdk1.7.0_07\jre\lib\ext\mysql-connector-java-5.1.22-bin.jar;
C:\Java\jdk1.7.0_07\jre\lib\ext\dpfpenrollment.jar;
C:\Java\jdk1.7.0_07\jre\lib\ext\dpfpverification.jar;
C:\Java\jdk1.7.0_07\jre\lib\ext\dpotapi.jar;
C:\Java\jdk1.7.0_07\jre\lib\ext\dpotjni.jar;

JAVA_HOMEは次のとおりです。

c:\java\jre7

jarファイルをlibフォルダーに入れてみましたが、結果は同じです。私はこのエラーをグーグルで検索しましたが、これを解決するのに役立つものは何も見つかりませんでした。

助けていただければ幸いです...
ありがとう

4

1 に答える 1

1

クラスパスは次のとおりです。

C:\Java\jdk1.7.0_07\jre\lib\ext;
C:\Java\jdk1.7.0_07\jre\lib\ext\mysql-connector-java-5.1.22-bin.jar;
C:\Java\jdk1.7.0_07\jre\lib\ext\dpfpenrollment.jar;
C:\Java\jdk1.7.0_07\jre\lib\ext\dpfpverification.jar;
C:\Java\jdk1.7.0_07\jre\lib\ext\dpotapi.jar;
C:\Java\jdk1.7.0_07\jre\lib\ext\dpotjni.jar;

ダメダメダメ。EJPが述べたように、それはextディレクトリの目的ではありません。さらに、エンドユーザーはextディレクトリにそれらのJarを持たず、たとえそうであっても、アプレットの実行時クラスパスに追加されません。

アプレットがそれらのJarを必要とする場合、それらはサーバー上のアクセス可能なパスに配置される必要がありますが、はcodebaseその場所を指している必要があり、archive属性は次のようになります。

archive='mysql-connector-java-5.1.22-bin.jar,dpfpenrollment.jar,dpfpverification.jar,dpotapi.jar,dpotjni.jar'

MySQLjarも少し心配です。アプレットはDBに直接アクセスできないようにする必要がありますが、そのアクセスはサーバー側の機能によって仲介される必要があります。アプレットがDBにアクセスできる場合、悪意のあるユーザーはアプレットをリバースエンジニアリングして、DBに直接アクセスできます。

于 2012-09-19T00:53:54.737 に答える