Есть ли способ настроить OpenJFX 11 для извлечения их DLL в другой указанный пользователем каталог?
При попытке перенести существующий проект Java 10 / Maven на Java 11, я попытался использовать OpenJDK 11. Чтобы заставить сборку кода работать, мне нужно было добавить JAR-файлы JavaFX в файлы конфигурации Maven pom.xml (поскольку JavaFX больше не является встроенной частью Java 11).
Однако во время выполнения я обнаружил ошибки из-за того, что OpenJFX извлекал DLL-файлы в каталог пользователя, а затем имел ошибки доступа (см. Ошибки ниже). В течение многих лет у меня было много проектов, в которых возникали ошибки при работе с каталогами C: \ Users * (из-за того, что Microsoft Windows вмешивалась в блокировки файлов и права доступа к каталогам, антивирусное сканирование и т. Д.), Поэтому я стараюсь избегать этих каталогов всякий раз, когда возможный. Проект Java работает должным образом под Java 10 в Windows 7 и в RedHat 7, что, по-видимому, подразумевает, что JAR-файлы OracleFF для JavaFX 10 не извлекают библиотеки DLL в каталоги C: \ Users *. Похоже, у OpenJFX нет проблем с записью библиотек DLL в эти каталоги, но впоследствии он не может читать те же файлы.
Я использую 64-разрядную версию Microsoft Windows 7 Professional с пакетом обновления 1. Я еще не пробовал работать в Linux с OpenJDK 11 и OpenJFX, но я полагаю, что OpenJFX попытается извлечь свои библиотеки DLL на этой платформе как хорошо.
Пример ошибок Java во время выполнения, вызванных OpenJFX:
Loading library prism_d3d from resource failed: java.lang.UnsatisfiedLinkError: C:\Users\MyUserName\.openjfx\cache\11\prism_d3d.dll: Access is denied
java.lang.UnsatisfiedLinkError: C:\Users\MyUserName\.openjfx\cache\11\prism_d3d.dll: Access is denied
Loading library prism_sw from resource failed: java.lang.UnsatisfiedLinkError: C:\Users\MyUserName\.openjfx\cache\11\prism_sw.dll: Access is denied
java.lang.UnsatisfiedLinkError: C:\Users\MyUserName\.openjfx\cache\11\prism_sw.dll: Access is denied
Graphics Device initialization failed for : d3d, sw
Error initializing QuantumRenderer: no suitable pipeline found
java.lang.RuntimeException: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found