Steward
分享是一種喜悅、更是一種幸福
程式語言 - Java - J2ME - 解決java.lang.NoClassDefFoundError問題
問題如下:
arguments [[main.jar]] org.microemu.app.Main.main(Main.java:1031) openJar [file:///home/user/j2me/main.jar] org.microemu.app.Common.loadJar(Common.java:554) Loading MIDlet class main of version 68 org.microemu.app.classloader.ChangeCallsClassVisitor.visit(ChangeCallsClassVisitor.java:68) openJar [file:///home/user/j2me/main.jar] org.microemu.app.Common.loadJar(Common.java:554) Loading MIDlet class main of version 68 org.microemu.app.classloader.ChangeCallsClassVisitor.visit(ChangeCallsClassVisitor.java:68) error Message: Error starting MIDlet: Unable to create MIDlet, java.lang.NoClassDefFoundError: main$1 java.lang.NoClassDefFoundError: main$1 org.microemu.app.Common.startMidlet(Common.java:419) java.lang.NoClassDefFoundError: main$1 at java.base/java.lang.Class.getDeclaredConstructors0(Native Method) at java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3006) at java.base/java.lang.Class.getConstructor0(Class.java:3211) at java.base/java.lang.Class.newInstance(Class.java:698) at org.microemu.app.Common.startMidlet(Common.java:412) at org.microemu.app.Common.initMIDlet(Common.java:1039) at org.microemu.app.launcher.Launcher.commandAction(Launcher.java:121) at javax.microedition.lcdui.List.keyPressed(List.java:189) at javax.microedition.lcdui.Display$KeyEvent.run(Display.java:152) at org.microemu.device.ui.EventDispatcher.post(EventDispatcher.java:162) at org.microemu.device.ui.EventDispatcher.run(EventDispatcher.java:97) at java.base/java.lang.Thread.run(Thread.java:1447) destroyMIDletContext org.microemu.app.Common.destroyMIDletContext(Common.java:189)
解法如下:
一個Java檔案只能包含一個Class