Aeonbits.OWNER не работает в maven? Исправление проблем

По какой-то причине, когда я запускаю mvn clean test -Denv = test -Dplatform = test, maven не может выполнить метод владельца

private static Environment config = configFactory.create(Environment.class, System.getProperties());

private static String url = config.getUrl();

Он просто возвращает нули вместо полей в файле .property.

У меня есть несколько файлов .property вроде этого: prod.desktop.properties И получить их поля с помощью:

@Config.Sources({"classpath:${env}.${platform}.properties"})

Я думаю, что Сборка успешна, но тест не запускается с Maven почти такая же проблема. Сборка работает нормально, и программа работает до определенного момента, когда var должен вернуть свойство. Если вместо, например, env = config.getEnv () я буду использовать env = System.getProperty ('env'), тогда все в порядке.

Полный pom.xml

Если запустить проект через IDEA runner (конфигурация TestNG) - все работает на 100% нормально. Я понятия не имею, почему mvn builder не хочет запускать ConfigFactory.create () в какой-то момент и не может найти никого, кто запускал maven + owner.

Дополнительная информация: если я запустил метод конфигурации, указанный выше, но укажу -Durl = {url} как arg, тогда вместо получения url из свойства URL-адреса Environment.class он будет таким, как в -Durl. Итак, метод smh работает, но по какой-то причине не может достичь Environment.class ...


person MrDSLow    schedule 15.07.2019    source источник


Ответы (1)


Хорошо, я решил проблему.

По какой-то причине mvn не может прочитать файл свойств с таким адресом:

@Config.Sources({"classpath:${property}.properties"})

Поэтому вместо этого вам нужно изменить его на:

@Config.Sources({"file:src/main/resources/${property}.properties"})
person MrDSLow    schedule 15.07.2019