Autor
|
Tema: (Ayuda) Error al ejecutar una aplicación usando la librería LWJGL (Leído 6,163 veces)
|
Seyro97
|
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
|
|
|
|
3n31ch
Desconectado
Mensajes: 445
Grandes conocimientos engendran grandes dudas
|
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
Mensajes: 625
|
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: 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
|
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
|
|
|
|
Usuario Invitado
Desconectado
Mensajes: 625
|
¿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: Y ejecuta: 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
|
Es que como solo estaba haciendo pruebas ya que nunca había usado un jar como librería, no tenía nada organizado Me sale el mismo error... Gracias por responder
|
|
|
En línea
|
|
|
|
Usuario Invitado
Desconectado
Mensajes: 625
|
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
|
Completa y absolutamente: import org.lwjgl.opengl.Display; import org.lwjgl.opengl.DisplayMode; import org.lwjgl.LWJGLException; import org.lwjgl.opengl.PixelFormat; import org.lwjgl.opengl.ContextAttribs; import static org.lwjgl.opengl.GL11.glViewport; public class Main { public static final int WIDTH = 1280; public static final int HEIGHT = 720; public static final int FPS_CAP = 60; public static void Init() { ContextAttribs Attribs = new ContextAttribs(3, 2).withForwardCompatible(true).withProfileCore(true); try { Display.setDisplayMode(new DisplayMode(WIDTH, HEIGHT)); Display.create(new PixelFormat(), Attribs); } catch(LWJGLException Ex) { Ex.printStackTrace(); } glViewport(0, 0, WIDTH, HEIGHT); } public static void Core() { Display.sync(FPS_CAP); Display.update(); } public static void Close() { Display.destroy(); } public static void main (String[] args ) { Main.Init(); while(!Display.isCloseRequested()) { Main.Core(); } Main.Close(); } }
|
|
|
En línea
|
|
|
|
3n31ch
Desconectado
Mensajes: 445
Grandes conocimientos engendran grandes dudas
|
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
|
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
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
problemas con avermedia 203 , al ejecutar la aplicacion error de explorer pq?
Multimedia
|
bytesarzua
|
2
|
2,082
|
25 Enero 2005, 03:43 am
por bytesarzua
|
|
|
error al ejecutar aplicacion creada en vb en una pc?¿
.NET (C#, VB.NET, ASP)
|
linux1
|
9
|
6,612
|
31 Julio 2010, 21:35 pm
por Zazú
|
|
|
[Ayuda] Java con LWJGL + slick
Java
|
martin0290
|
0
|
2,833
|
25 Abril 2012, 03:44 am
por martin0290
|
|
|
Necesito ayuda para mi Calculadora (usando la libreria Swing)
Java
|
DarkSorcerer
|
3
|
9,018
|
2 Febrero 2013, 02:04 am
por DarkSorcerer
|
|
|
[AYUDA] GeometryDash.exe - Error de la aplicación
Juegos y Consolas
|
.:Xx4NG3LxX:.
|
3
|
3,142
|
9 Febrero 2020, 01:07 am
por kub0x
|
|