我正在开发需要使用JDBC驱动程序的插件(mysql-connector-java-5.1.19-bin.jar)。当我在插件清单中定义此jar文件的路径时,如下所示:
Bundle-ClassPath:lib / mysql-connector-java-5.1.19-bin.jar
插件停止识别我的视图,我得到了这个例外:
java.lang.ClassNotFoundException:diplomaproject.views.SampleView 在org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:494) 在org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410) 在org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:398) 在org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:105) at java.lang.ClassLoader.loadClass(Unknown Source) 在org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:326) 在org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:231) 在org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1193) ...
当我删除行:
Bundle-ClassPath:lib / mysql-connector-java-5.1.19-bin.jar
从清单,视图正在运行,但JDBC连接器不起作用。
我的整个清单文件: 清单 - 版本:1.0 Bundle-ManifestVersion:2 捆绑名称:DiplomaProject Bundle-SymbolicName:diplomaProject;单:=真 Bundle-Version:1.0.0.qualifier Bundle-Activator:diplomaproject.Activator 捆绑供应商:MYDIPLOMA Require-Bundle:org.eclipse.ui, org.eclipse.core.runtime Bundle-RequiredExecutionEnvironment:JavaSE-1.6 Bundle-ActivationPolicy:懒惰 Bundle-ClassPath:lib / mysql-connector-java-5.1.19-bin.jar
答案 0 :(得分:6)
您必须在包类路径中添加一个点('。')。这会将从插件中包含的源编译的所有类添加到类路径中。
清单中的正确属性应为:
Bundle-ClassPath: lib/mysql-connector-java-5.1.19-bin.jar,
.
答案 1 :(得分:1)
您还需要将包添加到类路径中。试试这个:
Bundle-ClassPath: .,lib/mysql-connector-java-5.1.19-bin.jar
答案 2 :(得分:0)
我遇到了同样的问题。 由于一些更改,我的build.properties文件已更改。
我替换了similler项目中的内容并且有效。