Utilizzo di Eclipse Ho creato un programma SWT Hello World. Sono stato in grado di eseguire questo programma da Eclipse e ha funzionato bene.Posso eseguire dal programma della riga di comando creato da Eclipse?
In "/ home/myname/workspace/HelloWorldSWT" ho trovato due file: HelloWorldSWT.java e HelloWorldSWT.class. Volevo eseguire il programma corrispondente dalla riga di comando. Per prima cosa ho provato a digitare "java HelloWorld" e ho ottenuto il seguente messaggio di errore:
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld
at gnu.java.lang.MainThread.run(libgcj.so.90)
Caused by: java.lang.ClassNotFoundException: HelloWorld not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:./], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
at java.net.URLClassLoader.findClass(libgcj.so.90)
at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.90)
at java.lang.ClassLoader.loadClass(libgcj.so.90)
at java.lang.ClassLoader.loadClass(libgcj.so.90)
at gnu.java.lang.MainThread.run(libgcj.so.90)
Ho provato anche questo "java -cp/home/roman/workspace/HelloWorld.HelloWorld". Come risultato ho ricevuto il seguente messaggio di errore:
Exception in thread "main" java.lang.NoClassDefFoundError: loaded class HelloWorld.HelloWorld was in fact named HelloWorld
at java.lang.VMClassLoader.defineClass(libgcj.so.90)
at java.lang.ClassLoader.defineClass(libgcj.so.90)
at java.security.SecureClassLoader.defineClass(libgcj.so.90)
at java.net.URLClassLoader.findClass(libgcj.so.90)
at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.90)
at java.lang.ClassLoader.loadClass(libgcj.so.90)
at java.lang.ClassLoader.loadClass(libgcj.so.90)
at gnu.java.lang.MainThread.run(libgcj.so.90)
Qualcuno sa cosa sto facendo male? Grazie in anticipo per qualsiasi aiuto.
Grazie per la risposta. Sono un novizio in Java e non ne capisco l'essenza. Voglio dire, mi sembra strano che abbiamo bisogno di usare alcuni modi complicati per eseguire applicazioni SWG senza Eclipse. Qual è l'uso del programma scritto in Eclipse se può essere facilmente eseguito solo all'interno di Eclipse? – Roman
Se si desidera un'applicazione GUI di facile esecuzione in Java, non utilizzare SWT, ma Swing. Se si utilizza SWT, è necessario gestirne le dipendenze. Quando si crea un'applicazione RCP, la piattaforma gestisce queste dipendenze, ma nel caso di programmi standard è necessario dipendere dai jar SWT utilizzando i classpath. –