Integrate Jetty Server In Your Application
每当我试图运行它时,我都会遇到这种类型的错误,我不知道如何解决它,是否有任何人遇到此错误或类似错误?我正在使用eclipse并尝试在Android 4.2.2和4.1.2上运行它
05-23 12:53:18.351: D/dalvikvm(626): Not late-enabling CheckJNI (already on)
05-23 12:53:19.112: E/Trace(626): error opening trace file: No such file or directory (2)
05-23 12:53:19.461: W/dalvikvm(626): Unable to resolve superclass of Lcom/example/jettytest/MainActivity$1; (641)
05-23 12:53:19.461: W/dalvikvm(626): Link of class 'Lcom/example/jettytest/MainActivity$1;' failed
05-23 12:53:19.461: E/dalvikvm(626): Could not find class 'com.example.jettytest.MainActivity$1', referenced from method com.example.jettytest.MainActivity.<init>
05-23 12:53:19.461: W/dalvikvm(626): VFY: unable to resolve new-instance 536 (Lcom/example/jettytest/MainActivity$1;) in Lcom/example/jettytest/MainActivity;
05-23 12:53:19.461: D/dalvikvm(626): VFY: replacing opcode 0x22 at 0x0003
05-23 12:53:19.471: E/dalvikvm(626): Could not find class 'org.eclipse.jetty.server.Server', referenced from method com.example.jettytest.MainActivity.onCreate
05-23 12:53:19.471: W/dalvikvm(626): VFY: unable to resolve new-instance 640 (Lorg/eclipse/jetty/server/Server;) in Lcom/example/jettytest/MainActivity;
05-23 12:53:19.471: D/dalvikvm(626): VFY: replacing opcode 0x22 at 0x0008
05-23 12:53:19.471: W/dalvikvm(626): Unable to resolve superclass of Lcom/example/jettytest/MainActivity$1; (641)
05-23 12:53:19.471: W/dalvikvm(626): Link of class 'Lcom/example/jettytest/MainActivity$1;' failed
05-23 12:53:19.471: D/dalvikvm(626): DexOpt: unable to opt direct call 0x0ff3 at 0x05 in Lcom/example/jettytest/MainActivity;.<init>
05-23 12:53:19.471: D/dalvikvm(626): DexOpt: unable to opt direct call 0x10bf at 0x0c in Lcom/example/jettytest/MainActivity;.onCreate
05-23 12:53:19.481: D/AndroidRuntime(626): Shutting down VM
05-23 12:53:19.481: W/dalvikvm(626): threadid=1: thread exiting with uncaught exception (group=0x40a13300)
05-23 12:53:19.491: E/AndroidRuntime(626): FATAL EXCEPTION: main
05-23 12:53:19.491: E/AndroidRuntime(626): java.lang.NoClassDefFoundError: com.example.jettytest.MainActivity$1
05-23 12:53:19.491: E/AndroidRuntime(626): at com.example.jettytest.MainActivity.<init>(MainActivity.java:26)
05-23 12:53:19.491: E/AndroidRuntime(626): at java.lang.Class.newInstanceImpl(Native Method)
05-23 12:53:19.491: E/AndroidRuntime(626): at java.lang.Class.newInstance(Class.java:1319)
05-23 12:53:19.491: E/AndroidRuntime(626): at android.app.Instrumentation.newActivity(Instrumentation.java:1053)
05-23 12:53:19.491: E/AndroidRuntime(626): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1974)
05-23 12:53:19.491: E/AndroidRuntime(626): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
05-23 12:53:19.491: E/AndroidRuntime(626): at android.app.ActivityThread.access$600(ActivityThread.java:130)
05-23 12:53:19.491: E/AndroidRuntime(626): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
05-23 12:53:19.491: E/AndroidRuntime(626): at android.os.Handler.dispatchMessage(Handler.java:99)
05-23 12:53:19.491: E/AndroidRuntime(626): at android.os.Looper.loop(Looper.java:137)
05-23 12:53:19.491: E/AndroidRuntime(626): at android.app.ActivityThread.main(ActivityThread.java:4745)
05-23 12:53:19.491: E/AndroidRuntime(626): at java.lang.reflect.Method.invokeNative(Native Method)
05-23 12:53:19.491: E/AndroidRuntime(626): at java.lang.reflect.Method.invoke(Method.java:511)
05-23 12:53:19.491: E/AndroidRuntime(626): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
05-23 12:53:19.491: E/AndroidRuntime(626): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
05-23 12:53:19.491: E/AndroidRuntime(626): at dalvik.system.NativeStart.main(Native Method)
05-23 12:53:21.291: I/Process(626): Sending signal. PID: 626 SIG: 9
答案 0 :(得分:1)
对于初学者,请使用Jetty 7,因为它与Android使用的JDK兼容。
(Jetty 8使用JDK 6的高级功能,Android中没有,而Jetty 9对JDK 7的最低要求对于Android来说太新了)
您获得的错误Could not find class 'org.eclipse.jetty.server.Server'
通常表明您尝试将Jetty 8/9与Android配合使用(或者更少见,您遇到了包装错误)
您还必须将Jetty使用的标准JVM类加载器替换为Android兼容的类加载器。
Android上Jetty 7的开源示例可以在code.google.com/p/i-jetty/的i-jetty项目中找到。 i-jetty项目由Jetty开发人员维护。