t.me/atinfo_chat Telegram группа по автоматизации тестирования

Передача данных между классами в java, если один класс static, а другой нет

Доброго дня всем. Столкнулся с проблемой: не могу передать данные из класса A в класс B, данные в классе A получаются в методе public static void main(String[] args){ conf = args[0]}
В классе B мне нужно получить conf из класса A

Код класса A

public static String conf;
public static void main(String[] args){
conf = args[0];
}
}

Код класса B

@Before
public void init() throws Exception{
FileInputStream stream =new FileInputStream(conf);
}
}

При запуске передаю args[0] через параметры запуска, и в main это значение есть, а вот в init conf=null

А зачем вам вообще main метод? Можно пройтись дебагером и посмотреть что за чем выполянется

Метод main нужен для запуска jar с передачей аргумента conf через командную строку

А на проекте используется maven или ant или что-то подобное?

Maven. Но нужно именно собирать jar и значение для conf передавать именно как параметр командной строки при запуске jar

Строчка в мавене

<properties>
                    <conf>default value</conf>
 </properties>

Стрчока в коде

String conf = System.getProperty("conf");

Строчка в консоли


java -jar application.jar -Dconf="some parameter"

Вот и всё.

5 Симпатий