Não é possível ler o arquivo de propriedades no farm de dispositivos do aws


Meus testes Appium + JUnit funcionam perfeitamente bem localmente, mas no aws não é possível encontrar arquivos de propriedades. Meus testes são colocados emsrc/test/java e arquivos de propriedades usados em testes sobsrc/test/resources/locale. Zip com conteúdo de dependências:

├── app-0.1-tests.jar
├── app-0.1.jar
└── dependency-jars     
    ├── ...

app-0.1-tests.jar conteúdo:

├── META-INF
│   ├── MANIFEST.MF
│   ├── maven
│      ├── ....
├── com
│      ├── ....
└── locale
       ├── en_EN.properties

Infelizmente, quando tento carregar arquivos de propriedades, tenho uma IOException - o arquivo não foi encontrado no local:file:/tmp/scratchcC4yMz.scratch/test-packagefQ2euI/app-0.1-tests.jar!/locale/en_EN.properties

Tentei carregá-los de várias maneiras, sempre que tenho o mesmo problema. Localmente, tudo funciona como um encanto. Exemplo 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());
}

ou usando o carregador de classes:

ClassLoader classLoader = getClass().getClassLoader();
URL resource = classLoader.getResource("/locale/en_EN.properties");

Alguém pode sugerir a solução como ler o arquivo de propriedades localizado nos recursos?

questionAnswers(1)

yourAnswerToTheQuestion