JAVAFx构建失败

use*_*767 5 java eclipse macos build javafx-8

我使用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 
Run Code Online (Sandbox Code Playgroud)

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

非常感谢你的帮助!

Rus*_*uka 15

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

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

在此输入图像描述

在此输入图像描述

在此输入图像描述


小智 4

当您新建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>
Run Code Online (Sandbox Code Playgroud)

您必须检查 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 Code Online (Sandbox Code Playgroud)

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