Пользовательский класс в файле .fxml не импортируется после запутывания - PullRequest
0 голосов
/ 17 сентября 2018

Итак, я успешно импортировал пользовательский класс в свой класс .fxml следующим образом

<?import com.company.project.controller.myCustonClass?>

Все работает нормально, и моя программа работает как положено. После того, как я добавил Pro Guard в свое приложение, программа не работает. Я получаю

FXMLLoadException

Подробности исключений приведены ниже [взято из log.out]

myCustonClass is not a valid type.
file:/F:/xxxxx/xxx/xxx/project-name/target/jfx/app/project-name.jar!/fxml/MyScreen.fxml:21

Я нашел обходной путь для этого. Я просто добавляю исключение в файл .conf, как этот

-keep class com.company.project.controller.myCustonClass

Это единственный способ справиться с проблемой. Имя класса в отладчике выглядит странно, в то время как любой другой класс был «запутан»

Как предложено в ProGuard ломает приложение JavaFX , я добавил файл .txt с заглавными буквами, но мое приложение не работает.

Я использовал отладчик JD-GUI и вижу, что все запутанные имена классов имеют заглавные буквы. Так что это не похоже на проблему с 'fxml, неспособным загрузить имена классов маленькой буквой'

Обновление : Я использовал другой отладчик 'jadx' и вижу оператор импорта:

import com.company.project.b.A

но в .fxml файле я вижу тег

<CustonClass ................../>
...