Hi, I'm trying to write an eclipse plugin for Social Networks'
Visualization. Therefore I need a Database Connection to an Oracle
Database. I added the Driver JAR to the classpath and did all the other
usual DB Connection stuff, but it always throws a
ClassDefNotFoundException when I try to load the Driver via
Class.ForName(...).
Any solutions? (I guess its an easy question for people used to write
eclipse plugins using external libraries ;) )
Code (called out of a MultiPageEditor via Button ActionHandler - still
a bit messed up, sorry ;) ):
------------------------------------------------
public void generateData(Model md) {
try {
//DriverManager.registerDriver(new
oracle.jdbc.driver.OracleDriver());
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (Exception e1) {
e1.printStackTrace();
}
try {
Connection conn =
DriverManager.getConnection("jdbc:oracle:vcoeorad/vcoe",un,pw);
...........
} catch (SQLException e) {
e.printStackTrace();
}
}
--------------------------------------------------
Exception:
--------------------------------------------------
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:407)
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:352)
at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:83)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at util.DataImporter.generateData(DataImporter.java:40)
at snv.ui.GeneratorComposite$1.mouseDown(GeneratorComposite.java:95)
at
org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:133)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at
org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3348)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2968)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1914)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:419)
at
org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at
org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95)
at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)FEHLER
BEIM LADEN DES TREIBERS!
---------------------------------------------
Please help! :) Rescuer gets a beer when in Vienna!
Gg
Moiristo - 27 Jul 2006 11:15 GMT
> Code (called out of a MultiPageEditor via Button ActionHandler - still
> a bit messed up, sorry ;) ):
[quoted text clipped - 7 lines]
> e1.printStackTrace();
> }
The classname is alright, so it must mean that you've incorrectly set up
the library. Be aware that you must add the jar itself to the classpath,
not the directory containing it.
georg.hartner@gmail.com - 27 Jul 2006 12:18 GMT
> The classname is alright, so it must mean that you've incorrectly set up
> the library. Be aware that you must add the jar itself to the classpath,
> not the directory containing it.
Thanks for your immediate reply. I think i added it correctly (in the
build path ("Add External JARs") as well as I hooked the checkbox for
the export. I've often written programs using JDBC or orther external
libraries. I think it's an eclipse specific issue corresponding to PDE
or OSGi.
I checked what you meant but it still doesn't work :(. Sorry. Next one?
;)
georg.hartner@gmail.com - 27 Jul 2006 13:03 GMT
"SOLVED"! I think I found a suitable solution. I had to extract the jar
file somewhere in the plugin directory and add the folder to the
classpath through Manifest.MF - Runtime Configuration - Classpath -
Add.
Thanks
G