JavaFX отсутствует в JDK 1.7 / 1.8 в Linux?
У меня проблема, которая якобы невозможна, поэтому у меня чертовски много времени, чтобы найти ответ.
У меня есть последняя версия NetBeans 7.4, работающая на полностью обновленной Fedora 20 x64. Официально, это может работать с JavaFX. Период. У меня есть оба JDK из РЕПО (1.7.что-то) и самая последняя версия, которую я мог найти (1.8.0). Официально, у них есть JavaFX с ними. Период.
Если я попытаюсь создать новый проект JavaFX, он должен скажи:
не удалось автоматически настроить платформу JavaFX. Перейдите в Диспетчер платформ, создайте платформу Java SE не по умолчанию, затем перейдите на вкладку JavaFX, включите JavaFX и заполните пути к допустимым JavaFX SDK и JavaFX Runtime. Примечание: JavaFX SDK можно загрузить с веб-сайта JavaFX.
Ну хорошо, я привык к тому, что все путается, я думаю, что могу это исправить. Пойдите создайте новую платформу, и... нет никакой вкладки "JavaFX". Он взял немного исследований, чтобы даже узнать, о чем он говорил, и в процессе я обнаружил, что вкладка на самом деле была удалены от 7.4. Потому что NetBeans 7.4 абсолютно, определенно распознает JavaFX автоматически. Период.
переход на фактический сайт JavaFX говорит мне, как и ожидалось, что он в комплекте с Java SE 7 JDK, который у меня уже есть. Период.
поскольку конечный результат, за которым я следую, может быть технически достигнут путем интеграции одного компонента JavaFX в моем приложении Swing я попытался это сделать, но NetBeans все еще не может найти ничего, связанного с JavaFX, и поэтому кричит на меня, если я попытаюсь импортировать такую вещь.
таким образом, учитывая, что вещи, которые должны просто работать просто не... куда мне теперь идти?
3 ответов
В настоящее время в Debian и Ubuntu (возможно, другие) JavaFX является отдельным пакетом от OpenJDK (openjdk-8-jdk) и поэтому должен быть установлен:
sudo apt-get install libopenjfx-java libopenjfx-java-doc
известные проблемы (эта проблема не влияние Maven, JavaFX приложения, так что если это ваш предпочтительный метод сборки, то игнорировать следующую проблему):
при попытке создать новый проект: Категории > JavaFX С Проект > JavaFXApplication
вы получить:
Internal error. Missing resources [/resources/web-files/javafx-loading-100x100.gif]
/home/ken/NetBeansProjects/vestFxReports/nbproject/jfx-impl.xml:1465: The following error occurred while executing this line:
/home/ken/NetBeansProjects/vestFxReports/nbproject/jfx-impl.xml:3093: The following error occurred while executing this line:
/home/ken/NetBeansProjects/vestFxReports/nbproject/jfx-impl.xml:2055: Error: -includedt requires the java deployment toolkit, which is not included in this distribution
BUILD FAILED (total time: 1 second)
чтобы исправить вышеуказанную ошибку [отсюда выводятся следующие шаги: http://hongouru.blogspot.com.uy/2015/09/solved-error-building-new-project-using.html]:
- перейдите на вкладку файлы (обычно вы находитесь на вкладке Проект).
- разверните узел для вашего проекта > разверните узел nbproject > откройте " проект.файл свойств.
- находим строку
javafx.deploy.includeDT=true
, и правда в false.
Теперь вы можете создать и запустить приложение JavaFX на OpenJDK.
следующие шаги, хотя за пределами проблемы вы, вероятно, в какой-то момент захотите загрузить JavaFX scene builder: http://www.oracle.com/technetwork/java/javafxscenebuilder-1x-archive-2199384.html
по-видимому, проблема действительно является несоответствием между OpenJDK с открытым исходным кодом, предоставляемым большинством дистрибутивов Linux, и проприетарным Oracle JDK. Как ни странно, это хорошо известная проблема, но вы должны специально искать ее, чтобы найти ее, и к тому времени вы уже знаете.
решение состоит в том, чтобы загрузить официальный Oracle JDK и при необходимости создать соответствующую платформу в NetBeans (находится под /usr/java/jdk...
в данный момент). Он должен работать отлично после что.
возможно, официальная документация
- https://netbeans.org/kb/docs/java/nb_fx_screencast.html
- https://netbeans.org/kb/72/java/javafx-setup.html
может помочь вам настроить его