Reputation: 92
I added myLibrary.jar in project BuildPath and try to call static method from myLibrary.jar myClass but have exception:
Caused by: java.lang.NoClassDefFoundError: application/Application
at rcp.handlers.RunGenerationHandler.execute(RunGenerationHandler.java:29)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:294)
at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
... 38 more
Caused by: java.lang.ClassNotFoundException: application.Application cannot be found by rcp_1.0.0.qualifier
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:432)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:345)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:337)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 46 more
I'm sure that class exists in Library.
I try to rebuild myLibrary.jar and add in project again but problem still stays.
Below is the code where I try to call static method from my class:
import application.Application;
...
if (generationString != null){
Application.main(generationString);
}
Application - class in myLibrary.jar
ldl = myLibrary
UPDATE
I'm really such a slowpoke=(
In RCP applications libraries attaching in MANIFEST.MF
Example:
Bundle-ClassPath: .,/directory/myLibrary.jar
Upvotes: 2
Views: 5000
Reputation: 72
If your Library is also a RCP-Plugin you have to add it in the dependencies of your plugin.xml in your project. In the Library plugin.xml you have to export the package where the class is in.
Upvotes: 2