Posterior a de una larga selección de datos pudimos resolver esta preocupación que tienen algunos los usuarios. Te regalamos la solución y nuestro objetivo es resultarte de mucha apoyo.
Solución:
Debe comenzar a crear el JAR en el raíz de los archivos
Entonces, por ejemplo:
jar cvf program.jar -C path/to/classes .
Eso supone que path/to/classes
contiene la com
directorio.
FYI, en estos días es relativamente poco común para la mayoría de las personas usar el jar
comando directamente, ya que usarán una herramienta de compilación como Ant o Maven para encargarse de eso (y otros aspectos de la compilación). Vale la pena el esfuerzo de permitir que una de esas herramientas se encargue de todos los aspectos de su compilación, y es aún más fácil con un buen IDE para ayudar a escribir el build.xml
(hormiga) o pom.xml
(Maven).
Usted quiere
$ jar cvf asd.jar .
para especificar el directorio (p. ej. .
) a jar
de. Eso mantendrá su estructura de carpetas dentro del archivo jar.
Desde el directorio que contiene el com
carpeta:
$ jar cvf asd.jar com
added manifest
adding: com/(in = 0) (out= 0)(stored 0%)
adding: com/cdy/(in = 0) (out= 0)(stored 0%)
adding: com/cdy/ws/(in = 0) (out= 0)(stored 0%)
adding: com/cdy/ws/a.class(in = 0) (out= 0)(stored 0%)
adding: com/cdy/ws/b.class(in = 0) (out= 0)(stored 0%)
adding: com/cdy/ws/c.class(in = 0) (out= 0)(stored 0%)
$ jar -tf asd.jar
META-INF/
META-INF/MANIFEST.MF
com/
com/cdy/
com/cdy/ws/
com/cdy/ws/a.class
com/cdy/ws/b.class
com/cdy/ws/c.class