Pregunta

En Linux, la JVM establece el directorio de trabajo igual a la carpeta de inicio del usuario. En Windows es esta la carpeta donde se encuentra el jar. ¿Cómo puedo encontrar la ubicación del frasco (de mi aplicación) para cambiar el directorio de trabajo?

Martijn

¿Fue útil?

Solución

Intenta obtener la ruta al jar con este código:

String path = YourClass.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath();

Luego puedes eliminar el " *. jar " parte con:

path=path.substring(0, path.lastIndexOf('/')+1);

Tuve el mismo problema con un juego java cuando necesitaba abrir un archivo en el mismo directorio en el que estaba el archivo.

Al hacer doble clic en el archivo jar en linux no se abrió el archivo. Por supuesto, puedes abrir una línea de comandos y cambiar la dirección al directorio jar y luego ejecutar el jar desde allí, pero necesitaba hacer doble clic en el jar.

Otros consejos

En ambos casos es el directorio real. En Windows, automáticamente, el directorio real se establece en el directorio base del jar, si lo ejecuta desde el explorador. En Linux, el directorio de inicio es el directorio real para su GUI. Para configurar el directorio, escriba un script de shell corto, que establezca el directorio real (con el comando cd) y luego ejecute el archivo jar (con javaw -jar xyz.jar).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top