elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  (Ayuda) Error al ejecutar una aplicación usando la librería LWJGL
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: (Ayuda) Error al ejecutar una aplicación usando la librería LWJGL  (Leído 5,732 veces)
Seyro97

Desconectado Desconectado

Mensajes: 145


Ver Perfil WWW
(Ayuda) Error al ejecutar una aplicación usando la librería LWJGL
« en: 23 Marzo 2015, 04:35 am »

Hola, muy buenas a tod@s!

El proceso es simple: estoy intentando crear una aplicación con una librería compilada en un .jar. Al compilar el programa principal (el comando lo mostraré ahora)no me sale ningún error, pero a la hora de ejecutar el archivo .class con un CLASSPATH en el directorio del .jar me dice 'No se ha encontrado la clase principal Main',pero esa es la única clase escrita en el .java

Comandos usados:

javac -cp "lwjgl.jar" Main.java (No da ningún error, me crea un .class)
set CLASSPATH="C:\Users\Carlos\Desktop\Game" (No da ningún error)
java Main (El error antes mencionado)

ESPERO QUE ME PUEDAN AYUDAR. GRACIAS POR SU ATENCIÓN


« Última modificación: 23 Marzo 2015, 20:59 pm por Seyro97 » En línea

Carlos Peláez González. visita http://www.taringa.net/EnjoyC para muchos tutoriales!
3n31ch


Desconectado Desconectado

Mensajes: 445


Grandes conocimientos engendran grandes dudas


Ver Perfil
Re: (Ayuda) Error al ejecutar una aplicación usando la librería LWJGL
« Respuesta #1 en: 23 Marzo 2015, 12:54 pm »

Ve las versiones de java, quizás no sea esto (Y sinceramente no leí muy detenidamente tu mensaje) Pero usualmente cuando se intenta ejecutar un software hecho en una versión de java mas actual que la versión instalada te da como error que el MAIN no fue encontrado.


En línea

Usuario Invitado


Desconectado Desconectado

Mensajes: 625



Ver Perfil
Re: (Ayuda) Error al ejecutar una aplicación usando la librería LWJGL
« Respuesta #2 en: 23 Marzo 2015, 13:06 pm »

Buen día,

¿En el folder Game están tus .class?

Lo digo porque el objetivo del Class Path en Java es localizar los ficheros .class que te genera el compilador.

Crea una carpeta llamada META-INF dentro de src. Dentro crea un archivo llamado MANIFEST.MF en el cual pondrás en el Class Path las librerías de las que hagas uso (JARs). Por ejemplo:

Código:
Main-Class
com.company.app.Main
Classpath
Class-Path: lib/json.jar lib/slf4j.jar

En el ejemplo anterior las librerías están en el folder lib. Por eso en mi classpath coloco lib/[libreria] para que se agregue al classpath.

Main-Class indica la clase principal. En el caso anterior está en el paquete com.company.app y se llama Main.

Espero sea de utilidad. Un saludo.
En línea

"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein
Seyro97

Desconectado Desconectado

Mensajes: 145


Ver Perfil WWW
Re: (Ayuda) Error al ejecutar una aplicación usando la librería LWJGL
« Respuesta #3 en: 23 Marzo 2015, 20:54 pm »

La cosa es que tanto jars como archivos .java (solo hay uno) están en una sola carpeta, entonces no se donde poner ese META-INF
En línea

Carlos Peláez González. visita http://www.taringa.net/EnjoyC para muchos tutoriales!
Usuario Invitado


Desconectado Desconectado

Mensajes: 625



Ver Perfil
Re: (Ayuda) Error al ejecutar una aplicación usando la librería LWJGL
« Respuesta #4 en: 23 Marzo 2015, 21:28 pm »

¿No usas IDE? Poner todo en un solo lugar es no tener ningún tipo de organización en el proyecto. Todo IDE te crea una estructura estándar de directorios.

En todo caso compila:

Código:
javac -cp "*" Main.java

Y ejecuta:

Código:
java -cp "*" Main

El compilador y el runtime interpreta "*" como todos los JARs. Así que, como tienes todos los JARs con el código fuente sin paquetes ni nada, se debe colocar "*". Si tuvieras los JARs en un folder llamado lib, se cambiaría por "lib/*" (necesario JDK 7+).


Saludos.
En línea

"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein
Seyro97

Desconectado Desconectado

Mensajes: 145


Ver Perfil WWW
Re: (Ayuda) Error al ejecutar una aplicación usando la librería LWJGL
« Respuesta #5 en: 23 Marzo 2015, 22:00 pm »

Es que como solo estaba haciendo pruebas ya que nunca había usado un jar como librería, no tenía nada organizado :P

Me sale el mismo error...

Gracias por responder
En línea

Carlos Peláez González. visita http://www.taringa.net/EnjoyC para muchos tutoriales!
Usuario Invitado


Desconectado Desconectado

Mensajes: 625



Ver Perfil
Re: (Ayuda) Error al ejecutar una aplicación usando la librería LWJGL
« Respuesta #6 en: 23 Marzo 2015, 22:10 pm »

No es que no detecte las librerías, te está diciendo que no detecta el método main en la clase Main, lo que me parece muy raro. ¿Estás seguro que el método main está correctamente escrito?
En línea

"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein
Seyro97

Desconectado Desconectado

Mensajes: 145


Ver Perfil WWW
Re: (Ayuda) Error al ejecutar una aplicación usando la librería LWJGL
« Respuesta #7 en: 23 Marzo 2015, 22:33 pm »

Completa y absolutamente:

Código
  1. import org.lwjgl.opengl.Display;
  2. import org.lwjgl.opengl.DisplayMode;
  3. import org.lwjgl.LWJGLException;
  4. import org.lwjgl.opengl.PixelFormat;
  5. import org.lwjgl.opengl.ContextAttribs;
  6.  
  7. import static org.lwjgl.opengl.GL11.glViewport;
  8.  
  9. public class Main {
  10. public static final int WIDTH = 1280;
  11. public static final int HEIGHT = 720;
  12. public static final int FPS_CAP = 60;
  13.  
  14. public static void Init() {
  15. ContextAttribs Attribs = new ContextAttribs(3, 2).withForwardCompatible(true).withProfileCore(true);
  16.  
  17. try {
  18. Display.setDisplayMode(new DisplayMode(WIDTH, HEIGHT));
  19. Display.create(new PixelFormat(), Attribs);
  20. } catch(LWJGLException Ex) {
  21. Ex.printStackTrace();
  22. }
  23.  
  24. glViewport(0, 0, WIDTH, HEIGHT);
  25. }
  26.  
  27. public static void Core() {
  28. Display.sync(FPS_CAP);
  29. Display.update();
  30. }
  31.  
  32. public static void Close() {
  33. Display.destroy();
  34. }
  35.  
  36. public static void main(String[] args) {
  37. Main.Init();
  38.  
  39. while(!Display.isCloseRequested()) {
  40. Main.Core();
  41. }
  42.  
  43. Main.Close();
  44. }
  45. }
En línea

Carlos Peláez González. visita http://www.taringa.net/EnjoyC para muchos tutoriales!
3n31ch


Desconectado Desconectado

Mensajes: 445


Grandes conocimientos engendran grandes dudas


Ver Perfil
Re: (Ayuda) Error al ejecutar una aplicación usando la librería LWJGL
« Respuesta #8 en: 24 Marzo 2015, 03:02 am »

Viste el tema de tener java actualizado. Hablo en serio, se que parece estúpido, ya que el error apunta claramente al Main, pero por alguna razón Java lo hace así. Descarga la ultima versión de Java y dime si sigue el error.

https://www.java.com/es/download/
En línea

Seyro97

Desconectado Desconectado

Mensajes: 145


Ver Perfil WWW
Re: (Ayuda) Error al ejecutar una aplicación usando la librería LWJGL
« Respuesta #9 en: 24 Marzo 2015, 03:34 am »

Tanto con Java Development Kit como con Java Runtime Enviroment tengo las versiones 8, Update 40 de 64 bits
« Última modificación: 24 Marzo 2015, 04:55 am por Seyro97 » En línea

Carlos Peláez González. visita http://www.taringa.net/EnjoyC para muchos tutoriales!
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines