add external jar in xtext ui folder [message #757226] |
Thu, 17 November 2011 08:50 |
samir Messages: 27 Registered: September 2011 |
Junior Member |
|
|
hi
I need to use the GLPK library to to solve contraint. I added the jar from java build path > add external jar
but when I run my application I have this exception :
java.lang.NoClassDefFoundError: org/gnu/glpk/GlpkSolver
at polytime.ui.popup.actions.Interprete.getVarValue(Interprete.java:366)
at polytime.ui.popup.actions.Interprete.typeTerm(Interprete.java:319)
at polytime.ui.popup.actions.Interprete.run(Interprete.java:100)
at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:251)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3588)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3209)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
Caused by: java.lang.ClassNotFoundException: org.gnu.glpk.GlpkSolver
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:513)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
... 32 more
thanks
[Updated on: Thu, 17 November 2011 08:56] Report message to a moderator
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Re: add external jar in xtext ui folder [message #757295 is a reply to message #757290] |
Thu, 17 November 2011 14:53 |
|
Here is what i do
(1) create a new Project with the wizard
(2) generate the language
(3) create a test jar with a Test class
package test;
public class Test {
public static void sayHello() {
System.out.println("Hello World!");
}
}
(4) create a folder lib
(5) place test.jar in the lib folder
(6) edit the manifest file (here is the outcome)
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: org.xtext.example.mydsl.ui
Bundle-Vendor: My Company
Bundle-Version: 1.0.0
Bundle-SymbolicName: org.xtext.example.mydsl.ui; singleton:=true
Bundle-ActivationPolicy: lazy
Require-Bundle: org.xtext.example.mydsl;visibility:=reexport,
org.eclipse.xtext.ui,
org.eclipse.ui.editors;bundle-version="3.5.0",
org.eclipse.ui.ide;bundle-version="3.5.0",
org.eclipse.xtext.ui.shared,
org.eclipse.ui,
org.eclipse.xtext.builder,
org.antlr.runtime,
org.eclipse.xtext.common.types.ui,
org.eclipse.xtext.ui.codetemplates.ui,
org.eclipse.compare
Import-Package: org.apache.log4j,
org.apache.commons.logging
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Export-Package: org.xtext.example.mydsl.ui.contentassist.antlr,
org.xtext.example.mydsl.ui.internal
Bundle-Activator: org.xtext.example.mydsl.ui.internal.MyDslActivator
Bundle-ClassPath: lib/test.jar,
.
(7) edit the org.xtext.example.mydsl.ui.internal.MyDslActivator.start(BundleContext)(for test purpose)
@Override
public void start(BundleContext context) throws Exception {
super.start(context);
INSTANCE = this;
try {
registerInjectorFor("org.xtext.example.mydsl.MyDsl");
} catch (Exception e) {
Logger.getLogger(getClass()).error(e.getMessage(), e);
throw e;
}
Test.sayHello();
}
( run the app, create a new mydsl file and check the console for a message
Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
|
|
|
|
Powered by
FUDForum. Page generated in 0.05571 seconds