Si tengo un proyecto Java que consta de varios tipos diferentes de archivos (imágenes, sonido, etc.) y múltiples dependencias jar, ¿cuál es una buena manera de empaquetarlo todo en un único contenedor que solo se puede hacer doble clic?haciendo una aplicación Java de un solo contenedor
Sé que las jarras por sí solas son bastante tontas, ya que no miran dentro de sí mismos los archivos de los que dependen (algo que solo realicé después de la mínima frustración (eufemismo)). - Si el jarro A depende de las clases contenidas dentro del vaso B, poner el vaso B dentro del vaso A no funcionará. Jar A debe estar en el mismo directorio que jar B.
... Ahora, sé que podría extraer todos los archivos de todos los otros jar y poner todo en el mismo directorio. Eso sería tipo de trabajo, pero no quiero hacerlo porque: 1. Sería desordenado y 2. aún así no resolvería el problema de tener que tener los archivos de sonido en el mismo directorio que el final tarro. (Por alguna razón, los archivos de sonido actúan de la misma manera que los archivos internos)
Básicamente, solo quiero que los archivos de los que depende mi aplicación no sean detestables y ostentosos. Entonces, si hubiera alguna solución en la que pudiera poner todo dentro de un contenedor y hacer que fuera el único archivo necesario para ejecutar todo el programa, sería óptimo. Sin embargo, estoy dispuesto a aceptar formas creativas/inventivas para eludir el problema, como tener un script por lotes en un directorio principal para ejecutar el archivo jar o algo así. (Digo "o algo así" porque ese escenario exacto solo funcionaría en los sistemas operativos de Windows ... ya sabes a qué me refiero!)
¿cómo está accediendo a sus recursos (archivos de sonido, etc.)? como archivos o como getResource()? –
Estoy pasando su nombre de archivo a un objeto de archivo – Pojo