У меня есть JavaFX, в котором пользователь может выбирать файлы для обработки. Теперь я хочу автоматизировать его, чтобы вы могли запустить приложение из командной строки и передать эти файлы в качестве параметра. Я пытался сделать это:
java -jar CTester.jar -cl file.txt
public static void main(String[] args)
{
if (Arrays.asList(args).contains("-cl"))
{
foo();
}
else
{
launch(args);
}
}
Основное выполняется, и аргумент является правильным, но это все еще создает GUI.
Из документов :
Точкой входа для приложений JavaFX является класс Application.
Среда выполнения JavaFX выполняет следующее по порядку всякий раз, когда приложение
запущен:
- Создает экземпляр указанного класса приложения
- Вызывает метод init ()
- Вызывает метод запуска (javafx.stage.Stage)
- Ожидание завершения приложения, которое происходит, когда один из следующих
происходят:
- приложение вызывает Platform.exit ()
- последнее окно было закрыто и атрибут implicitExit на платформе равен true
- Вызывает метод stop ()
Итак, если я не могу использовать метод main
, как я могу создать этот «альтернативный» поток? Я думал о создании обычного Java-приложения в качестве оболочки, но это кажется немного излишним для такой простой задачи. Есть ли более элегантный способ сделать это?