No se puede leer el archivo de propiedades en la granja de dispositivos aws
Mis pruebas Appium + JUnit funcionan perfectamente bien localmente, pero en aws no puede encontrar archivos de propiedades. Mis pruebas se colocan debajosrc/test/java
y archivos de propiedades utilizados en pruebas bajosrc/test/resources/locale
. Zip con contenido de dependencias:
├── app-0.1-tests.jar
├── app-0.1.jar
└── dependency-jars
├── ...
app-0.1-tests.jar
contenido:
├── META-INF
│ ├── MANIFEST.MF
│ ├── maven
│ ├── ....
├── com
│ ├── ....
└── locale
├── en_EN.properties
Desafortunadamente, cuando intento cargar archivos de propiedades tengo una IOException: el archivo no se encuentra en la ubicación:file:/tmp/scratchcC4yMz.scratch/test-packagefQ2euI/app-0.1-tests.jar!/locale/en_EN.properties
Traté de cargarlos de dos maneras, cada vez que tengo el mismo problema. A nivel local, todo funciona como un encanto. Ejemplo de código:
File file = new File(ClassName.class.getResource("/locale/en_EN.properties").getPath());
try (InputStream inputStream = new FileInputStream(file.getPath());
InputStreamReader streamReader = new InputStreamReader(inputStream, Charset.forName("UTF-8"))) {
Properties properties = new Properties();
properties.load(streamReader);
return properties;
} catch (IOException e) {
System.err.println("Properties file not found: " + file.getPath());
}
o usando el cargador de clases:
ClassLoader classLoader = getClass().getClassLoader();
URL resource = classLoader.getResource("/locale/en_EN.properties");
¿Alguien puede sugerir una solución para leer el archivo de propiedades ubicado en los recursos?