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.ParameterizedMessageFactoryClassNotFoundException: 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). Поменял.

0 ответов

Другие вопросы по тегам