¿Cómo puedo encontrar la ruta absoluta a un Juego marco de aplicaciones?
-
27-09-2019 - |
Pregunta
En el momento en el que estoy trabajando con un equipo en un juego! aplicación marco. Con la próxima historia de usuario, tengo que poner en práctica algunas modificaciones diferentes de archivos, como mover un archivo a un directorio definido.
Debido a que estamos trabajando en diferentes plataformas, no estoy siempre muy seguro de si la aplicación tiene el camino correcto. Así que quiero trabajar con una ruta absoluta del directorio de aplicación.
¿Cómo consigo la ruta absoluta de un juego! aplicación? ¿Hay un método para esto?
Solución
Esta respuesta se aplica únicamente a las versiones anteriores del Juego marco, antes v2.
El juego tiene una propiedad de ruta de la aplicación:
String projectRoot = Play.applicationPath;
Esto le dará el directorio que se está ejecutando desde Juego.
Creo que una mejor práctica se está moviendo el exterior directorio de su proyecto de directorio de instalación y colocación de la ruta al mismo en su application.conf
como una propiedad. A continuación, recuperar cuando sea necesario. Por ejemplo:
application.conf:
my.file.path=/tmp/whatever
Código:
String projectRoot = Play.configuration.getProperty("my.file.path");
Otros consejos
Desde la versión 2.5.0 , está en desuso clase play.Play
. Se recomienda play.Environment
inyectar y utilizar el método como sigue:
public File rootPath();
El Singleton play.Environment
también contiene algún método muy práctico, que proporcionan los archivos de ruta relativa por ejemplo.
public File getFile(String relativePath);
public URL resource(String relativePath);
public InputStream resourceAsStream(String relativePath);
Como de juego 2.0:.. Play.Play.application () trayectoria () getAbsolutePath ()
Ninguna de las trabajadas en mi versión del juego, por lo que utiliza en su lugar: Play.current (). Camino (). GetAbsolutePath ()