Nuestro proyecto en Eclipse muestra aproximadamente las siguientes carpetas:Eclipse: exportación a .jar e incluyen archivos de recursos (ANT)
application
- src
- JRE System Library [1.6]
- Referenced Libraries
- lib
- rsc
En nuestro proyecto, nos gustaría utilizar Archivo> Exportar ...> Ejecutable JAR
Bueno, eso funciona bien, con algunas excepciones: si queremos ejecutar nuestra application.jar, todavía tenemos que copiar la carpeta rsc/en la misma ubicación que application.jar.
En rsc /, tenemos otras carpetas para separar las diferentes partes. Básicamente, cargamos las piezas utilizando el código (bien un poco alterada, pero el estilo ruta es correcta)
strUrl = "file:rsc/properties/Constants.properties";
url = new URL(strUrl);
ImageIcon icon = new ImageIcon(url);
pude rightclick en RSC /> Vía de construcción> Usar como carpeta de origen.
Pero esto tampoco funciona porque eclipse no copia automáticamente la carpeta rsc en bin/-folder. Y luego no podemos ejecutarlo más desde el terminal (no empaquetado en el contenedor)
EDIT: ¿por qué eclipse no puede manejar esto correctamente? ¿Por qué tiene problemas con las carpetas de salida "anidadas"? En la pestaña Origen del cuadro de diálogo Crear ruta, podría agregar fácilmente la carpeta rsc/con la carpeta de salida establecida en bin/rsc /, pero no parece poder poner carpetas anidadas ...
EDIT 2: Ahora he podido crear un archivo xml para compilarlo con hormiga, y de alguna manera logré incluir la carpeta rsc en el jarrón. Todavía no se ejecuta debido a los mismos errores. ¿Realmente necesito verificar las rutas de recursos si están en un JAR o no? El contenido del JAR es ahora la siguiente:
META-INF/
META-INF/MANIFEST.MF
configurator/
controller/
editor/
gui/
logic/
networking/
rsc/
rsc/gamesettings/
rsc/levels/
rsc/pics/
rsc/properties/
util/
pero Java todavía me odia y lanza java.io.FileNotFoundException: rsc/properties/Constants.properties
con un StackTrace de alrededor de 100 líneas.
¿alguien una idea de cómo hacerlo? thx & saludos
Sí. Esta fue la solución, pero marcar rsc/as src-folder en eclipse no hace el trabajo. Otro estudiante me condujo directamente a la misma solución. El problema era que teníamos que usar Class.getResource ("..."), la ruta precedida de un '/'. THX y saludos – Atmocreations
Disculpe, ¿qué quiere decir con 'Clase # getResource()'? No hay tal método estático en la clase 'Class'. – m0skit0
@ m0skit0 El método no es estático, disculpe la confusión. –