I have been working on getting my OSGi application to run outside eclipse. It has certainly wasn't as easy as I thought out would be certainly not just a case of running java -jar org.eclipse.osgi_3.7.1.jar and installing the plugins.
I'm hoping this is the last problem
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/
This works fine in Eclipse. I have a persistence bundle and several fragmentation bundles that I load depending on the database type that I require. I then also have another bundle with the database JDBC drivers. In eclipse I can run it, out side eclipse I have been trying everything including using class loaders to load the Driver
Activator.context = bundleContext;
Class.forName("com.mysql.jdbc.Driver");
try {
context.getBundle().loadClass("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Any idea what to look at? From what I can see my setups are identical and both have the same bundles running.
Does your bundle import the package
com.mysql.jdbc
?Read the following wiki page for some background on why this might work inside Eclipse but not in a proper OSGi environment: http://wiki.osgi.org/wiki/Why_does_Eclipse_find_javax.swing_but_not_Felix%3F