Uso de Eclipse He creado un programa Hello World de SWT. Pude ejecutar este programa desde Eclipse y funcionó bien.¿Puedo ejecutar desde el programa de línea de comandos creado por Eclipse?
En "/ home/myname/workspace/HelloWorldSWT" encontré dos archivos: HelloWorldSWT.java y HelloWorldSWT.class. Quería ejecutar el programa correspondiente desde la línea de comando. En primer lugar he tratado de escribir "Hola Mundo java" y me dieron el siguiente mensaje de error:
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)
También probé este "java-cp/home/roman/espacio de trabajo/HelloWorld.HelloWorld". Como resultado, recibí el siguiente mensaje de error:
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)
¿Alguien sabe lo que estoy haciendo mal? Gracias de antemano por cualquier ayuda.
Gracias por la respuesta. Soy un novato en Java y no entiendo la esencia. Quiero decir, me parece extraño que necesitemos usar algunas formas complicadas de ejecutar aplicaciones SWG sin Eclipse. ¿Cuál es el uso del programa escrito en Eclipse si se puede ejecutar fácilmente solo dentro de Eclipse? – Roman
Si desea una aplicación de GUI fácil de ejecutar en Java, no use SWT, sino Swing. Si usa SWT, tiene que administrar sus dependencias. Al crear una aplicación RCP, la plataforma administra estas dependencias por usted, pero en el caso de los programas estándar, debe depender de los archivos SWT utilizando los classpaths. –