Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

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


(Алик Гилиздинов) #1

Доброго дня всем. Столкнулся с проблемой: не могу передать данные из класса 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


#2

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


(Алик Гилиздинов) #3

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


#4

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


(Алик Гилиздинов) #5

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


#6

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

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

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

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

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


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

Вот и всё.