maven-client-plugin, GraalVM и инициализация класса
Я пытаюсь создать собственный образ приложения JavaFX+FXML с помощью плагина GluonHQ client-maven-plugin. Создание образа в машинном коде работает нормально, но при попытке его выполнения кажется, что моя конфигурация была неправильной.
FXML
<?import java.lang.*?>
<?import org.prelle.javafx.NavigationView?>
<?import org.prelle.javafx.NavigationItem?>
<?import org.prelle.javafx.NavigationItemHeader?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.TextArea?>
<?import javafx.scene.control.SeparatorMenuItem?>
<?import javafx.scene.layout.FlowPane?>
<NavigationView xmlns:fx="http://javafx.com/fxml"
stylesheets="@styles.css"
displayMode="AUTO">
</NavigationView>
Выполнение не удается сorg.apache.logging.log4j.message.ParameterizedMessageFactory
ClassNotFoundException: org.prelle.javafx.NavigationView
Теперь попробовал добавить свой reflectionconfig.json
[
{
"name" : "org.prelle.javafx.NavigationView",
"allDeclaredConstructors" : true,
"allPublicConstructors" : true
}
]
Проблема в том, что он больше не компилируется. Вместо этого я получаю 3 ошибки для классов, которые были непреднамеренно инициализированы во время сборки - например, javafx.scene.control.SkinBase или скин для моего класса org.prelle.javafx.skin.NavigationViewSkin
Конструктор My NavigationView явно устанавливает скин в NavigationViewSkin, поэтому вызов пустого конструктора также вызовет конструктор скинов.
Что я сделал не так? Как мне избежать этих ошибок?
Изменить: я не заметил, что скопировал более старое сообщение об ошибке (из-за проблем с Log4J2). Поменял.