Затем нам понадобится тестовый тег ресурсов, чтобы сообщить maven, где находятся эти ресурсы, если они находятся вне каталога ресурсов. <testResources> <testResource> <directory> $ {project.basedir} / src / test / resources </ directory> </ testResource> </ testResources>


есты Appium + JUnit отлично работают локально, но на aws не могут найти файлы свойств. Мои тесты помещены подsrc/test/java и файлы свойств, используемые в тестах подsrc/test/resources/locale, Zip с зависимостями содержимого:

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

app-0.1-tests.jar содержание:

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

К сожалению, когда я пытаюсь загрузить файлы свойств, у меня возникает IOException - файл не найден в локации:file:/tmp/scratchcC4yMz.scratch/test-packagefQ2euI/app-0.1-tests.jar!/locale/en_EN.properties

Я пытался загрузить их несколькими способами, каждый раз, когда у меня возникает одна и та же проблема. Локально все работает как шарм. Пример кода:

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());
}

или с помощью загрузчика классов:

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

Может кто-нибудь предложить решение, как прочитать файл свойств, расположенный в ресурсах?

Ответы на вопрос(1)

Ваш ответ на вопрос