NoClassDefFoundError z apletem jdbc
Stworzyłem aplet przy użyciu Eclipse:
package gui;
public class MyApplet extends JApplet {
Ten aplet potrzebuje dwóch zewnętrznych jarów: proj.jar i firebirdsql-full.jar (jdbc)
Dlatego utworzyłem taki HTML w tym samym folderze co słoiki:
<APPLET CODE="gui.MyApplet.class" width="650" height="650" ARCHIVE="proj.jar,myApplet.jar,firebirdsql-full.jar">
<a href="http://java.com/en/download/index.jsp">Java</a>
</APPLET>
Próbowałem też zmienić kolejność słoika wARCHIVE
atrybut.
Jednak nadal otrzymuję następujący błąd (w konsoli java):
Exception in thread "thread applet-gui.MyApplet.class-2" java.lang.NoClassDefFoundError: Could not initialize class org.firebirdsql.jdbc.FBDriver
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at db.DAO.getDBConnection(DAO.java:45)
at db.MyDAO.initPreparedStatements(MyDAO.java:37)
at db.MyDAO.<init>(MyDAO.java:33)
at db.MyDAO.getInstance(MyDAO.java:27)
at model.Controller.<init>(Controller.java:27)
at gui.MyApplet.getJTabbedPane(MyApplet.java:81)
at gui.MyApplet.getJContentPane(MyApplet.java:69)
at gui.MyApplet.init(MyApplet.java:52)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Czy czegoś mi brakuje?
Edytować:
W jakiś sposób, podczas debugowania tego, otrzymałem także inny stacktrace:
Exception in thread "thread applet-gui.MyApplet.class-1"
java.lang.ExceptionInInitializerError
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at db.DAO.getDBConnection(DAO.java:45)
at db.MyDAO.initPreparedStatements(MyDAO.java:37)
at db.MyDAO.<init>(MyDAO.java:33)
at db.MyDAO.getInstance(MyDAO.java:27)
at model.Controller.<init>(Controller.java:27)
at gui.MyApplet.getJTabbedPane(MyApplet.java:81)
at gui.MyApplet.getJContentPane(MyApplet.java:69)
at gui.MyApplet.init(MyApplet.java:52)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.security.AccessControlException: access denied (java.util.PropertyPermission FBLog4j read)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPropertyAccess(Unknown Source)
at java.lang.System.getProperty(Unknown Source)
at org.firebirdsql.logging.LoggerFactory.getLogger(LoggerFactory.java:36)
at org.firebirdsql.logging.LoggerFactory.getLogger(LoggerFactory.java:72)
at org.firebirdsql.jdbc.FBDriver.<clinit>(FBDriver.java:63)
... 12 more