2012-09-18 60 views
1

我在使用u.are.u 4500生物識別指紋識別器的SDK的小程序時遇到了一些問題。
當我使用NetBeans在本地測試小程序時,該小程序正常工作。 Applet test. Local小程序故障:java.lang.NoClassDefFound

問題是當我嘗試發佈小程序。 Applet web test. Error detail

我總是得到「java.lang.NoClassDefFound」。 我修改了java配置,以便服務器配置和我的工作站配置相匹配。

的SDK安裝在C:\ java的\ jdk1.7.0_07
JRE安裝在C:\ java的\ jre7 enter image description here

的生物指紋識別器的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文件夾中,把結果是一樣的。 我搜索了這個錯誤,但沒有發現可以幫助我解決這個問題。

任何幫助表示讚賞...
感謝

+0

你不應該把MySQL連接器等放在jre/lib/ext目錄中。這不是它的目的。 – EJP

回答

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目錄中擁有這些Jars,即使它們是,它們也不會被添加到小程序的運行時類路徑中。

如果applet需要這些罐子,他們需要被放置在服務器上的訪問路徑,而codebase應該指向的地方和archive屬性可能是這樣的:

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

MySQL的罐子也有點擔心。小應用程序不應直接訪問數據庫,但該訪問應由服務器端功能介導。如果您的小程序可以訪問數據庫,惡意用戶可以對其進行逆向工程並直接訪問數據庫。