繁体   English   中英

JAVAFx构建失败

[英]JAVAFx Build Failed

我使用JavaFx for windows创建了一个应用程序,这非常酷。 我可以从e(fx)clipse运行它,everthing工作正常,但我无法从项目中创建一个jar文件。 我可以导出它(右击 - >导出 - >可运行的Jar文件)。 但是,如果我在MAC OS X上运行jar,在菜单栏中我得到“java”menuitem而不是我的应用程序名称,我真的不喜欢。 我搜索了如何隐藏该menuitem,或者只是重命名它,我发现我必须在build.fxbuild文件中重命名“Application title *”。 现在我无法建立它。

所以这就是我真正想要的:在Mac OS X中删除/隐藏/重命名“java”menuitem。如果您有任何经验,请与我分享。 我将非常感激:)。

我尝试运行build.xml文件时收到以下错误:

[javac] Compiling 22 source files to C:\Users\Hassan\Desktop\Programming\workspace\Raktar_vevo 2.7\build\classes
[javac] warning: [options] bootstrap class path not set in conjunction with -source 1.7
[javac] Note: C:\Users\Hassan\Desktop\Programming\workspace\Raktar_vevo 2.7\build\src\application\SajátKészlet.java uses unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.
[javac] 1 warning
 [copy] Copying 12 files to C:\Users\Hassan\Desktop\Programming\workspace\Raktar_vevo 2.7\build\classesinit

    -fx-tasks:
  [taskdef] Could not load definitions from resource com/sun/javafx/tools/ant/antlib.xml. It could not be found.
do-deploy:
     [copy] Copying 20 files to C:\Users\Hassan\Desktop\Programming\workspace\Raktar_vevo 2.7\dist\libs

BUILD FAILED
C:\Users\Hassan\Desktop\Programming\workspace\Raktar_vevo 2.7\build.xml:217: 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


Total time: 22 seconds 

**我使用:-Windows 7 64bit -jdk 8 u5 -JAVA_HOME设置-e(fx)clipse(开普勒),我下载了一体机版本(用于懒人链接

非常感谢你的帮助!

您需要在Prefereces-> Java-> Installed JRE中将jdk设置为jre,并在Eclipse的外部工具配置 - > JRE中将其检查为“单独的jre”

编辑:运行>外部工具>外部工具配置

在此输入图像描述

在此输入图像描述

在此输入图像描述

当您新建JavaFX项目时,生成的文件build.xml可能具有错误的文件路径。

 <?xml version="1.0" encoding="UTF-8"?> <project name="App2" default="do-deploy" basedir="." xmlns:fx="javafx:com.sun.javafx.tools.ant"> <target name="init-fx-tasks"> <path id="fxant"> <filelist> <file name="${java.home}\\..\\lib\\ant-javafx.jar"/> <!-- wrong path --> <file name="${java.home}\\lib\\jfxrt.jar"/> <!-- wrong path --> </filelist> </path> <taskdef resource="com/sun/javafx/tools/ant/antlib.xml" uri="javafx:com.sun.javafx.tools.ant" classpathref="fxant"/> </target> 

你必须检查ant-javafx.jar和jfxrt.jar在哪里? 例如,JDK 1.8这两个文件位于不同的位置,C:\\ Program Files \\ Java \\ jdk1.8.0_20 \\ lib \\ ant-javafx.jar C:\\ Program Files \\ Java \\ jre1.8.0_20 \\ lib \\ ext \\ jfxrt.jar

所以现在我只找到自己修改的方法......

 <?xml version="1.0" encoding="UTF-8"?> <project name="App" default="do-deploy" basedir="." xmlns:fx="javafx:com.sun.javafx.tools.ant"> <target name="init-fx-tasks"> <path id="fxant"> <filelist> <file name="C:\\Program Files\\Java\\jdk1.8.0_20\\lib\\ant-javafx.jar"/> <file name="C:\\Program Files\\Java\\jre1.8.0_20\\lib\\ext\\jfxrt.jar"/> </filelist> </path> <taskdef resource="com/sun/javafx/tools/ant/antlib.xml" uri="javafx:com.sun.javafx.tools.ant" classpathref="fxant"/> </target> 

修改文件后,右键单击选择Run as Ant Build!

我有一个更好的解决方案,少修改:

此修复路径问题(只需添加\\ text \\修复问题)

<path id="fxant">
    <filelist>
        <file name="${java.home}\..\lib\ant-javafx.jar"/>
        <file name="${java.home}\lib\ext\jfxrt.jar"/>
    </filelist>
</path>

在执行此操作之前,您需要在已安装的JRE列表中包含jdk1.8.xxx,而不是jdk包中包含的jre,而是jdk本身。
接下来,在Run \\ External Tools \\ External Tools Configuration中打开JRE选项卡,检查执行环境是否为CDC-1.1 / Foundation-1.1(jdk1.8.xxx)
就这样 !

我知道我回答这个问题有点迟了,但我们这么多人仍然在努力解决这个问题,在我看来,我无法在任何地方找到合适的答案。

在我遇到同样问题的情况下,我设法通过运行 - >外部工具_>外部工具配置并选择JRE选项卡来实现它。 我不得不将执行环境从1.7更改为CDC-1.0 / Foundation-1.0(jdk1.7.0_25)(并且CDC-1.1也可以)。

当涉及到蚂蚁时,肯定是一个新手,所以不确定懒惰安装为什么没有正确地拾取路径,但希望这对于在达到excedrin之前冲击他们的脑袋会派上用场。

我也遇到了同样的问题

 <?xml version="1.0" encoding="UTF-8"?> <project name="App2" default="do-deploy" basedir="." xmlns:fx="javafx:com.sun.javafx.tools.ant"> <target name="init-fx-tasks"> <path id="fxant"> <filelist> <file name="${java.home}\\..\\lib\\ant-javafx.jar"/> <!-- wrong path --> <file name="${java.home}\\lib\\jfxrt.jar"/> <!-- wrong path --> </filelist> </path> <taskdef resource="com/sun/javafx/tools/ant/antlib.xml" uri="javafx:com.sun.javafx.tools.ant" classpathref="fxant"/> </target> 

从这个中间删除..像这样

---文件名=“$ {java.home} \\ lib \\ ant-javafx.jar”--- ---

然后我得到了基础错误

为此,我评论了基础部分,并从$ {basedir}中提取了outdir路径

\\ build / deploy“outfile =”addressApp“nativeBundles =”exe“updatemode =”background“>

        <!--<fx:platform basedir="${java.home}"/>--> <------ comment Here
        <fx:info title="addressApp" vendor="makery.ch"/>

        <fx:application refId="fxApplication"/>
        <fx:resources refid="appRes"/>
    </fx:deploy>

对于上面我看到了这个https://github.com/reds-heig/logisim-evolution/issues/135

在该构建成功之后,在deploy文件夹中生成了exe文件。

谢谢StackOverflow偷看

我在Windows 8.1,Java 1.8.0_192,Eclipse Photon(4.8.0)和e(fx)clipse 3.3.0上做了什么。

  1. 卸载所有(增量)Java安装(JDK,JRE)
  2. 使用JRE安装最新(所需)Java JDK
  3. 在Eclipse中将默认Java设置为JDK (Windows - >首选项 - > Java - >已安装的JRE)
  4. 在Eclipse中将单独的JRE设置为JDK (运行 - >外部工具 - >外部工具配置)
  5. 清洁项目
  6. build.fxbuild - > ant build.xml并运行

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM