Esta es una pregunta muy tonta a la que no puedo responder de manera precisa.cuál es la estructura interna correcta del archivo JAR
Fondo.
Estoy usando Eclipse (con uno de los plugins ANT, en un terminal XP).
Me acaban de comenzar a jugar con ANT, en la Directiva [jarra] Estoy fijando la ubicación de mi archivo JAR terminado y me sale el siguiente cuando estoy descomprimir "el archivo
META-INF/MANIFIESTO. MF MyMainFile.class
que es consistente con la que se encuentra en el sitio web de Oracle para la estructura interna. (aquí http://docs.oracle.com/javase/tutorial/deployment/jar/view.html)
¿Pero cuando intento ejecutar mi archivo aparece un error de "clase principal no encontrada"?
he visto algunos otros puestos donde la gente ha 'desabrochado' el archivo JAR y terminó con una estructura de la siguiente ...
META-INF/MANIFEST.MF dtvcontrol/DTVControlApp.class
(de aquí http://www.coderanch.com/t/528312/java/java/standalone-application)
Así que debo obtener una estructura en la que mis archivos de clase están en un directorio que refleja el nombre del paquete de ... por ejemplo
META-INF/MANIFEST.MF MyPackage/MyMainFile.class
y, si es así, ¿por qué obtengo la estructura incorrecta usando ANT o por qué hay 2 estructuras internas "correctas" diferentes? (cómo especificar main-class y classpath para cada/control lo que obtengo)
También en caso de que esté interesado, en los estados del archivo MANIFEST (compilación usando ANT) [attribute name = "Main-Class" value = "MyPackage.MyMainFile" /]
también la estructura de directorios del paquete en fase de desarrollo es el siguiente ...
/JavaDev/MyTestPackage/src (contiene los archivos de origen) // JavaDev/MyTestPackage/bin (contiene los archivos de clase de eclipse, o de la tarea ANT JAVAC, ¿lo he nombrado incorrectamente? ¿Debería haberlo llamado build?)
Además de esto, cuando creo el contenedor no lo denomino 'MyTestPackage.jar' sino simplemente 'test.jar' ¿podría ser esto un problema? Supongo que no es como si hubiera entendido que de eso se trata la definición de la [clase principal].
Además de todo esto ...
'MyTestPackage' Es en realidad una pequeña biblioteca de mensajes de error visual que yo uso en otros lugares, y no tengo un segundo archivo que tiene una clase principal a utilizar para la prueba. Como tal, apunta a varias bibliotecas (¿necesito copiar todas las bibliotecas SWT a un directorio específico?)
He leído en alguna parte que si cargo bibliotecas en mi clase principal (lo cual obviamente hago para abrir la ventana) entonces intentar ejecutar el programa fallará en una 'clase principal no encontrada' si las uso, mismas también es cierto para agregar cualquier miembro "estático final" (que utilizo para el inicio de sesión de errores).
Problema 'Final estático' ... Traté de ajustar la ruta de clase en ANT, y recibí una carga de otros errores para la conexión a Log4J y mi 'envoltorio' que uso (para hacer que sea un mala importación), pero las bibliotecas existen donde deberían establecerse en el classpath.
Siento que estoy casi ahí .... pero no del todo ...
que estoy haciendo esto para los pequeños proyectos de biblioteca 'que estoy creando con la intención de utilizar MAVAN para los principales paquete externo que los conectará todos juntos ... por ahora, sin embargo, solo quiero poner esto en marcha para que funcione.
Puedo suministrar la fuente completa o cualquier otra información según sea necesario.
Gracias de antemano ...
David
vikiiii Iba a hacer un comentario astuto preguntándome cuántos "ojos" tienes ... pero decidiste no hacerlo (fíjate 3 "." No uno, no dos). ;) – DaveM