2014-02-10 1 views
6

У меня есть проблема, которая якобы невозможна, поэтому у меня есть время найти ответ.JavaFX отсутствует в JDK 1.7/1.8 в Linux?

У меня установлена ​​последняя версия NetBeans 7.4, работающая на полностью обновленной Fedora 20 x64. Официально это может работать с JavaFX. Период. У меня есть как JDK из репо (1.7.something), так и самая последняя версия, которую я смог найти (1.8.0). Официально у них есть JavaFX. Период.

Если я пытаюсь создать новый проект JavaFX, то это сказать:

Не удалось автоматически настройки с JavaFX платформы. Перейдите в Platform Manager, создайте платформу Java SE, отличную от используемой по умолчанию, затем перейдите на вкладку JavaFX, включите JavaFX и заполните пути к действительным JavaFX SDK и JavaFX Runtime. Примечание: JavaFX SDK можно загрузить с веб-сайта JavaFX.

Хорошо, я привык к вещам, смущенным, я думаю, что могу это исправить. Go создайте новую платформу, и ... нет вкладки «JavaFX». Потребовалось немного исследований, чтобы даже узнать, о чем идет речь, и в этом процессе я обнаружил, что вкладка действительно была удалена из 7.4. Поскольку NetBeans 7.4 абсолютно определенно распознает JavaFX автоматически. Период.

Переход на фактический сайт JavaFX говорит мне, как и ожидалось, о том, что он связан с Java SE 7 JDK, который у меня уже есть. Период.

Поскольку конечный результат, который я получил после этого, может быть достигнут путем интеграции одного компонента JavaFX в мое приложение Swing, я попытался это сделать, но NetBeans все еще не может найти что-либо, связанное с JavaFX, и поэтому кричит на меня, если я пытаюсь импортировать такая вещь.

Итак, учитывая, что вещи, которые должны просто работать просто, не ... откуда я могу идти отсюда?

+0

Have Вы обыскали [NetBeans отслеживания ошибок] (HTTPS://netbeans.org/community/issues.html), или подал там отчет об ошибке? – haraldK

+2

Вы используете Oracle JDK? – Ben

+0

@Ben ... Sunovab! # @ H, я полагаю, я технически нет! У Repos есть OpenJDK, и до сих пор я никогда не находил расхождения между ними. – DigitalMan

ответ

1

По-видимому, этот вопрос действительно является несоответствие между открытым исходным кодом OpenJDK предоставляемый большинством дистрибутивов Linux, и проприетарный Oracle JDK. По иронии судьбы, это известная проблема, но вам нужно специально найти ее, чтобы ее найти, и к тому времени вы уже знаете.

Решение состоит в том, чтобы загрузить официальный Oracle JDK, и при необходимости создать соответствующую платформу в NetBeans (находящейся под /usr/java/jdk... в данный момент). После этого он должен отлично работать.

+0

Несоответствие - это более непонятная функция OpenJDK, поскольку JFX был сделан независимым пакетом, где в OralceJDK все это один большой шар. На самом деле никакой разницы нет, см. Мой ответ для получения дополнительной информации. – Quaternion

6

В настоящее время в Debian и Ubuntu (вероятно, другие) JavaFX представляет собой отдельный пакет из OpenJDK (OpenJDK-8-JDK) и поэтому должно быть установлено:

sudo apt-get install libopenjfx-java libopenjfx-java-doc 

Примечательным вопрос (этот вопрос делает не влияние приложения Maven, JavaFX так что если это ваш предпочтительный метод сборки затем игнорировать следующий вопрос):

Если вы пытаетесь создать новый проект: Категории> JavaFX Project> JavaFXAppli Катион

Вы получите:

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]:

  1. Перейдите на вкладку файлов (как правило, вы на Вкладка «Проект»).
  2. Разверните узел для своего проекта> разверните узел nbproject> откройте файл "project.properties".
  3. Поиск линии javafx.deploy.includeDT=true и изменение true до false.

Теперь вы можете создавать и запускать приложение JavaFX на OpenJDK.


Следующие шаги, хотя за пределами рассматриваемого вопроса вы, вероятно, в какой-то момент нужно загрузить сцену строитель JavaFX: http://www.oracle.com/technetwork/java/javafxscenebuilder-1x-archive-2199384.html