簡體   English   中英

JavaFX Ant構建失敗,JDK 10.0.2 Eclipse Photon

[英]JavaFX Ant build failed, JDK 10.0.2 Eclipse Photon

我正在嘗試在Windows 10,Oracle JDK 10.0.2和Eclipse Photon上構建JavaFX應用程序。 該應用程序可以正常工作,如果我將其導出為可執行jar的話,它也可以工作。 為了進行正確的構建,我打開“ FX Build Configuration”,單擊“ Generate ant build.xml and run”。 構建失敗,並出現以下錯誤:

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與intaller的默認路徑: 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”中,選擇了“ Separate JRE”項並將其設置為“ jdk-10.0.2”。 有人知道如何解決這個問題嗎? 非常感謝

這可能會有點晚,但是我看不到答案,因此無法為自己的項目進行故障排除。 本教程具有大多數正確的步驟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。 如果您有資源文件,自定義映像,請確保部署結構與您的項目匹配。 通常,我通常在項目的根目錄上創建一個deploy文件夾,然后從build.xml生成的dist文件夾中復制。 它可以是自動化的,但是在您成功進行部署之前,我不會擔心它。然后自動執行小部件,直到您有一個運行良好的系統(僅花兩分錢就可以得到)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM