Сборка JavaFX Ant не удалась, JDK 10.0.2 Eclipse Photon - PullRequest
0 голосов
/ 04 сентября 2018

Я пытаюсь создать приложение JavaFX на Windows 10, Oracle JDK 10.0.2 и Eclipse Photon. Приложение работает, также, если я экспортирую его как исполняемый файл jar, оно работает. Для правильной сборки я открываю «FX Build Configuration», нажимаю «Generate ant build.xml и запускаю». Сборка завершается с ошибкой:

init-fx-tasks:
    [taskdef] Could not load definitions from resource com/sun/javafx/tools/ant/antlib.xml. It could not be found.

do-deploy:
BUILD FAILED
C:\Users\myname\eclipse-workspace\MyProgram\build\build.xml:90: Problem: failed to create task or type javafx:com.sun.javafx.tools.ant:resources
Cause: The name is undefined.
Action: Check the spelling.
Action: Check that any custom tasks/types have been declared.
Action: Check that any <presetdef>/<macrodef> declarations have taken place.
No types or tasks have been defined in this namespace yet

Просматривая форум, я понимаю, что проблема связана со средой выполнения / сборки. Автоматически сгенерированные build.xml состояния

<target name="init-fx-tasks">
<path id="fxant">
    <filelist>
        <file name="${java.home}\..\lib\ant-javafx.jar"/>
        <file name="${java.home}\lib\jfxrt.jar"/>
    </filelist>
</path>
<taskdef resource="com/sun/javafx/tools/ant/antlib.xml"
    uri="javafx:com.sun.javafx.tools.ant"
    classpathref="fxant"/>
</target>

Я установил Oracle JDK с путями по умолчанию для установщика: C:\Program Files\Java\jdk-10.0.2 и JRE, а также C:\Program Files\Java\jre-10.0.2, но не могу найти jfxrt.jar, требуемый build.xml, в любом месте файловой системы, в то время как я могу найти C:\Program Files\Java\jdk-10.0.2\lib\ant-javafx.jar.

В Eclipse Photon, в Run->External Tools->External Tools Configuration->JRE выбран элемент «Отдельный JRE» и установлено значение «jdk-10.0.2». Кто-нибудь знает, как это решить? Большое спасибо

1 Ответ

0 голосов
/ 21 января 2019

Это может быть немного поздно, но я не вижу ответов, и было немного трудно найти решение для моего собственного проекта. Этот учебник содержит большинство правильных шагов https://code.makery.ch/library/javafx-tutorial/part7/,, однако он сводится к исправлению нескольких вещей, например, на которые указывает переменная $ {java.home}, моя указала на:

C: \ Program Files \ Java \ jre1.8.0_191

Это означает, что jfxrt.jar и ant-javafx.jar не могут быть найдены в этих местах, поэтому я изменил их на следующее:

<filelist>
  <file name="${java.home}\..\jdk1.8.0_191\lib\ant-javafx.jar"/>
  <file name="${java.home}\lib\ext\jfxrt.jar"/>
  <file name="${basedir}"/>
</filelist>

Это работает, так как у меня есть и JRE, и JDK на моем рабочем рабочем компьютере. Также убедитесь, что у вас установлено E (fx) clipse. Если у вас есть файлы ресурсов, пользовательские образы и так, убедитесь, что структура развертывания соответствует вашему проекту. Я обычно создаю папку развертывания в корне моего проекта и копирую из папки dist, созданной build.xml. Это может быть автоматизировано, но я не буду беспокоиться об этом, пока вы не сможете успешно выполнить развертывание ... затем автоматизировать мелкие детали, пока у вас не будет хорошо работающей системы (только мои два цента за то, что стоит).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...