Java库(GSON):NoClassDefFoundError

时间:2016-06-29 05:26:40

标签: java eclipse gson

对于项目,我需要导入GSON库,尽管在不同主题上找到了这些步骤,但我仍然有错误NoClassDefFoundError ...

步骤1:在 BuildPath 中,我将库添加为外部JAR

步骤2:在订单和导出中,我检查库

所以,如果有人有解决方案,请提前感谢您的答案! ;)

更多信息:

Buildpath Projectstructure

package ummisco.gama.webgl;

import com.google.gson.Gson;

public class SceneReceiver {

private final static SceneReceiver instance = new SceneReceiver();

private boolean canReceive = true;

public static SceneReceiver getInstance() {
    return instance;
}

private SceneReceiver() {
}

public void receive(final SimpleScene scene) {
    reception(false);
    try {
        Gson gson = new Gson();
        String sceneSend = gson.toJson(scene);
        System.out.println(sceneSend);
    } catch (Exception e) {
        System.out.println(e.getMessage());
    }
    reception(true);
}

private void reception(boolean canReceive) {
    this.canReceive = canReceive;
}

public boolean canReceive() {
    return canReceive;
} 
}

这里的堆栈跟踪:

Exception in thread "Thread-14" java.lang.NoClassDefFoundError: com/google/gson/Gson 
    at ummisco.gama.webgl.SceneReceiver.receive(SceneReceiver.java:28)
    at ummisco.gama.opengl.scene.ModelScene.endDrawingLayers(ModelScene.java:232)
    at ummisco.gama.opengl.scene.SceneBuffer.endUpdatingScene(SceneBuffer.java:74)
    at ummisco.gama.opengl.JOGLRenderer.endDrawingLayers(JOGLRenderer.java:713)
    at msi.gama.outputs.display.LayerManager.drawLayersOn(LayerManager.java:182)
    at ummisco.gama.opengl.SWTOpenGLDisplaySurface.updateDisplay(SWTOpenGLDisplaySurface.java:168)
    at ummisco.gama.ui.views.displays.LayeredDisplayView$11.run(LayeredDisplayView.java:673)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: com.google.gson.Gson cannot be found by ummisco.gama.opengl_1.7.0.qualifier
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:439)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:352)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:344)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 8 more

0 个答案:

没有答案